How to download wasm of a canister?

Hey guys, trying to understand some aspects of internet computer here…

  • Is it possible to obtain wasm binary code knowing just canister id or is it hidden information?
  • Is it possible to obtain candid definition having just canister wasm code?

I’m interested in calling existing canister methods(query, update) from rust or go, but I don’t have a candid file… And not sure about exact arguments and data types …
What is the best approach?

Thanks!

Currently - I don’t think so, but there were plans to make some of them public

Yes (most of the time). The interface definition is inside the canister metadata. Look for a canister at dashboard.internetcomputer.org and you will see its interface.
There is also this library that helps with IF discovery - icblast https://github.com/infu/icblast
Tool - Blast https://jglts-daaaa-aaaai-qnpma-cai.ic0.app/
VSCode extension https://forum.dfinity.org/t/internet-base-vs-code-extension/20080/11

7 Likes