An open API service indexing awesome lists of open source software.

https://github.com/dfinity/candid-extractor

A CLI tool to extract the Candid interface from a Canister WASM.
https://github.com/dfinity/candid-extractor

Last synced: 2 months ago
JSON representation

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

Awesome Lists containing this project

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".