I have an existing canister on mainnet that was deployed with 0.8.4. I want to use the new heartbeat functionality with motoko in 0.9.0. If I try to upgrade my canister on the ic with dfx 0.9.0, I get error:
The replica returned an HTTP Error: Http Error: status 403 Forbidden, content type "", content: Requested canister rejected the message
How do I upgrade my canister code with dfx 0.9.0 (I obviously cannot reinstall my code and lose state)?
We will document that in the release notes - it’s not related to dfx generate, just the wallet changes.
We haven’t published those changes to smartcontracts.org yet, since there hasn’t been an official, blessed build of 0.9.x, but it is documented in the sdk changelog
You’ll have to upgrade your wallet canister and run a command to upgrade your other canisters in order to use dfx 0.9.0. This is documented in the changelog and in the release notes. After running the steps to upgrade, you should not need the --wallet parameter.
Unfortunately we’ve published the dfx 0.9.0 release notes, as well as updated the docs to use dfx 0.9.0, but have not yet promoted dfx 0.9.0.
Breaking change: Canister commands, except for dfx canister create, will make the call directly, rather than via the user’s wallet. The --no-wallet flag is thus removed from dfx canister as its behavior is the default.
When working with existing canisters, use the --wallet flag in conjunction with dfx identity get-wallet in order to restore the old behavior.
You will need to upgrade your wallet and each of your existing canisters to work with the new system. To do so, execute the following in each of your dfx projects:
I have exactly the same error. When I create cans in the operation and fill the data (Blob) into them. The local environment freezes and even restarting dfx does not help. We have to build new canisters of services.Something like that…
ic_consensus/payload_builder max_block_payload_size too small. current value: 0, required minimum: 3670016! max_block_payload_size must be larger than max_ingress_bytes_per_message and MAX_XNET_PAYLOAD_IN_BYTES. Update registry!