candid-extractor

Crates.iocandid-extractor
lib.rscandid-extractor
version0.1.5
sourcesrc
created_at2023-09-18 16:38:25.861576
updated_at2024-10-28 15:02:29.479179
descriptionA CLI tool to extract the Candid interface from a Canister WASM.
homepage
repositoryhttps://github.com/dfinity/candid-extractor
max_upload_size
id976095
size62,781
(dfinity-publish)

documentation

README

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".
Commit count: 11

cargo fmt