generate-did 0.1.1

A tool to generate Candid (.did) files for Internet Computer Rust canisters
Documentation

generate-did

Crates.io Docs.rs License: MIT Test Examples

A command-line tool to generate Candid (.did) files for Internet Computer Rust canisters.

Features

  • Build your Rust canister and extract its Candid interface automatically.
  • Simple, robust CLI.

Installation

Install from crates.io:

cargo install generate-did

Usage

From your project root or from inside the canister directory, run:

generate-did <canister_name>
  • Replace <canister_name> with the directory name of your canister (must contain a Cargo.toml).
  • The .did file will always be placed in the canister directory.

Requirements

  • candid-extractor must be installed and in your PATH:
    cargo install candid-extractor
    
  • Ensure in your Rust canister code, you've called the export_candid macro at the end of your lib.rs file:
use ic_cdk::query;
use ic_cdk::update;

#[query]
fn hello(name: String) -> String {
    format!("Hello, {}!", name)
}

#[update]
fn world(name: String) -> String {
    format!("World, {}!", name)
}

// Enable Candid export
ic_cdk::export_candid!();
  • The canister must be a Rust project with a valid Cargo.toml and buildable to WASM.

License

This project is licensed under the MIT License.