Rust CDK provides tools for building Canisters on Internet Computer (IC).
You may be looking for:
If you are looking for a crate to communicate with existing canisters on IC, you may want to check agent-rs.
A canister is a WebAssembly (wasm) module that can run on the Internet Computer.
To be a canister, a wasm module should communicate with the execution environment using Canister interfaces (System API).
This repo provides libraries and tools to facilitate developing canisters in Rust.
ic0:
Internet Computer System API binding.ic-cdk:
Internet Computer Canister Development Kit.ic-cdk-bindgen:
Generate Rust bindings from Candid to make inter-canister calls.ic-cdk-macros:
Annotate functions with attribute macros to make them exposed public interfaces.ic-cdk-timers:
The library implements multiple and periodic timers.ic-management-canister-types: Types for calling the IC management canister.ic-certified-map:
An implementation of map which support certified queries.ic-ledger-types:
Type definitions to communicate with the ICP ledger canister.In Cargo.toml:
[lib]
crate-type = ["cdylib"]
[dependencies]
ic-cdk = "0.18"
candid = "0.10" # required if you want to define Candid data types
Then in Rust source code:
#[ic_cdk::query]
fn hello() -> String{
"world".to_string()
}
Check Rust quickstart for a detailed guidance.
$ claude mcp add cdk-rs \
-- python -m otcore.mcp_server <graph>