Skip to main content

Create

Beginner
Developing canisters

Canisters are created with dfx canister create. They are initially empty and do not contain program code. The code must be compiled into Wasm and installed into the empty canister before it can be deployed.

Create canister

Settings can be configured while creating a canister using optional flags. View the full list of settings.

Canister creation is done automatically in the background of the dfx deploy command. However, there may be certain workflows where creating an empty canister is necessary.

Create a canister from within a project's directory:

dfx canister create <canister-name> --network=<NETWORK>

When a canister is created, the following steps happen:

  • A canister ID is registered with the local replica or the mainnet for each canister in the project's dfx.json file. Each canister ID is returned to the command line.

  • The following canister components are created:

    • List of controllers.
    • Cycles balance.
    • Reserved cycles balance.
    • Canister status.
    • Resource reservations.

Common errors related to canister creation include: