New and Improved Rust CDK: First-class support for Rust Canister Development

Hi @lastmjs !

The only improvement that I have in mind is GZIP-compressed canister modules.
I implemented them a couple of weeks ago (I found quite an elegant implementation that is backward-compatible with all the existing tooling). I can confirm they work on the mainnet:

$ curl -o ledger.wasm.gz -L https://download.dfinity.systems/ic/0618091c39002acee22d507bc7d3e79c0f173ba8/canisters/ledger-canister_notify-method.wasm.gz

$ shasum -a 256 ledger.wasm.gz 
27dd88e6070e0081e90e6a98c8d264dc205fe14f7c115b8df0acf3903cb826e7  ledger.wasm.gz

# Install the ledger on the mainnet...

$ dfx canister --network ic info 4d3iv-hqaaa-aaaag-qaf6q-cai
Controllers: 7czmi-pyaaa-aaaag-qaciq-cai jlcmz-cojlk-zdm46-mshzl-dtlre-ricph-khpzu-tqxrk-qo3ow-7jdsw-tae
Module hash: 0x27dd88e6070e0081e90e6a98c8d264dc205fe14f7c115b8df0acf3903cb826e7

Let me know if gzip compression helps in your case. Note that there is still 10MiB limit on uncompressed canister size.

7 Likes