403 forbidden error when running command "dfx identity --network ic deploy-wallet <canister-identifer>"

I’m trying to do the bootcamp pre-reqs and also ran into this error. I got free cycles from the faucet and used the given command to set-wallet. BTW, it seems the --no-wallet flag is no longer valid.

My wallet:
auchan@epsilon:~/ic-projects/hello$ dfx identity --network ic get-wallet
qpjy5-viaaa-aaaai-abtjq-cai

My canisters:
auchan@epsilon:~/ic-projects/hello$ more canister_ids.json
{
“hello”: {
“ic”: “q5ppe-zyaaa-aaaai-abtkq-cai”
},
“hello_assets”: {
“ic”: “qumey-pqaaa-aaaai-abtla-cai”
}
}

Deploy command and output:
auchan@epsilon:~/ic-projects/hello$ dfx deploy --network ic
Deploying all canisters.
Creating canisters…
Creating canister “hello”…
hello canister created on network “ic” with canister id: “q5ppe-zyaaa-aaaai-abtkq-cai”
Creating canister “hello_assets”…
hello_assets canister created on network “ic” with canister id: “qumey-pqaaa-aaaai-abtla-cai”
Building canisters…
Building frontend…
Installing canisters…
Installing code for canister hello, with canister_id q5ppe-zyaaa-aaaai-abtkq-cai
Error: The replica returned an HTTP Error: Http Error: status 403 Forbidden, content type “application/cbor”, content: Requested canister rejected the message

My wallet controllers:
auchan@epsilon:~/ic-projects/hello$ dfx wallet --network ic controllers
ip4e4-olz63-wo3zi-dkx46-pz3eq-l54mi-zszzn-qxqwz-5bba2-sqavz-bqe
m275j-shcik-avikq-yasar-thfg4-zvwki-cwrxz-dljkm-ky5ng-s7wbp-4ae

auchan@epsilon:~/ic-projects/hello$ dfx wallet --network ic balance
6899945090470 cycles.

My balance is 8T cycles lower due to the 2 deployed canisters above.

My canister controllers is my cycles wallet canister:
auchan@epsilon:~/ic-projects/hello$ dfx canister --network ic info q5ppe-zyaaa-aaaai-abtkq-cai
Controllers: qpjy5-viaaa-aaaai-abtjq-cai
Module hash: None
auchan@epsilon:~/ic-projects/hello$ dfx canister --network ic info qumey-pqaaa-aaaai-abtla-cai
Controllers: qpjy5-viaaa-aaaai-abtjq-cai
Module hash: None

My principal and ledger account ids:
auchan@epsilon:~/ic-projects/hello$ dfx identity get-principal
m275j-shcik-avikq-yasar-thfg4-zvwki-cwrxz-dljkm-ky5ng-s7wbp-4ae

auchan@epsilon:~/ic-projects/hello$ dfx ledger account-id
349e10caa5ff4f990aeda88c60e97190adc80927f06b59133ab6061eebc6cb66

So I believe I have a different error as my principal is the controller for my cycle wallet, and my cycle wallet is the controller for my canisters.

EDIT - turns out you need your principal to be the controller for all deployed canisters (cycle wallet as controller is not enough)

Follow the commands listed in the release notes to upgrade your wallet and set controller properly for all deployed canisters.

1 Like