Common Internet Computer Canisters
In this chapter, we will cover common Internet Computer canisters, namely the:
Local deployment of ledger and cmc canisters
To follow along and run the examples in this chapter, you need to deploy local instances of the ledger and cmc canisters.
NOTE
The IC Management Canister is not installed locally, because it's actually a 'pseudo-canister' that does not really exist with code and state on the IC.
Make sure you are using an identity for development and testing (optionally with encryption disabled for running commands without a password).
Using dfx 0.14.0, follow these steps:
Step 1
Open .config/dfx/networks.json and change the subnet_type to system. The network configuration should look like this:
{
"local": {
"bind": "127.0.0.1:8080",
"type": "ephemeral",
"replica": {
"subnet_type": "system"
}
},
"ic": {
"providers": ["https://mainnet.dfinity.network"],
"type": "persistent"
}
}
Save and close the file.
Step 2
Run dfx in any directory with the --clean flag:
dfx start --clean
The replica should start and a link to the replica dashboard should be shown in the terminal.
Step 3
Open a new terminal window (leaving dfx running in the first terminal) and run:
dfx nns install --ledger-accounts $(dfx ledger account-id)
We are adding the --ledger-accounts flag with the default account of your identity as the argument. This way, the Ledger Canister is locally initialized with a certain amount of ICP to use for testing.
This command should install many common canisters on your local replica. We will use two of those in this chapter and you should verify that they were installed in the last step. The output should contain (among other canisters)
nns-ledger ryjl3-tyaaa-aaaaa-aaaba-cai
nns-cycles-minting rkp4c-7iaaa-aaaaa-aaaca-cai
The canister ids don't change over time and are the same in local replicas and mainnet.
Step 4
Verify the balance of the default account for your identity by running:
dfx ledger balance
In dfx 0.14.0 this should print 1000000000.00000000 ICP.