Candid is an interface description language (IDL) for interacting with canisters (also known as services or actors) running on the Internet Computer. It provides a language-independent description of canister interfaces and the data they exchange, with type safety and extensibility.
Candid supports several different programming languages. This repository contains some of the implementations developed by DFINITY.
A list of community maintained Candid libraries:
We provide a test suite to check Candid implementations for compliance.
This repo ships two kinds of release artifacts, each driven by its own tag.
candid_ui canister wasmReleased on a date-based tag. As the repo contains several targets, it is hard to give a version to the tag, so the tag is always today's date:
CHANGELOG.md and merge the PR into master.git tag 2020-04-01 -m "2020-04-01"git push origin 2020-04-01This triggers candid-ui.yml, which builds and
uploads candid_ui.wasm to the matching GitHub release.
didc binariesReleased by cargo-dist on a SemVer tag
matching the didc crate version in tools/didc/Cargo.toml:
didc version and merge the PR into master.git tag didc-v0.6.1 -m "didc-v0.6.1"git push origin didc-v0.6.1This triggers didc-release.yml, which builds
didc for linux (x86_64, x86_64-musl, arm64) and macOS (x86_64, arm64), and uploads
the archives, a shell installer, and checksums to the GitHub release. The build
config lives in dist-workspace.toml; regenerate the workflow
with dist generate after editing it.
See our CONTRIBUTING and CODE OF CONDUCT to get started.
$ claude mcp add candid \
-- python -m otcore.mcp_server <graph>