Skip to content

A CLI tool to extract the Candid interface from a Canister WASM.

License

Notifications You must be signed in to change notification settings

dfinity/candid-extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

candid-extractor

A CLI tool to extract the Candid interface from a Canister WASM.

Installation

cargo install candid-extractor

You can also use cargo-binstall if it's available.

cargo binstall candid-extractor

Usage

candid-extractor path/to/canister.wasm

The Candid interface will be printed to stdout.

Prerequisites for Canisters

candid-extractor can extract the Candid interface if the Canister meets the following requirements:

  • Exports a memory named "memory".
  • Exports a function named "get_candid_pointer", which returns an index within the "memory".
    • If "memory" is 32-bit, the function should return an i32.
    • If "memory" is 64-bit, the function should return an i64.
  • The Candid interface should be encoded in UTF-8 and stored in "memory" starting from the returned index.
  • A "NUL terminator" (byte 0x00) should be added at the end of the data if additional content exists after it in "memory".

About

A CLI tool to extract the Candid interface from a Canister WASM.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages