Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ candid Public

Candid Library for the Internet Computer

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE-UNICODE
Notifications You must be signed in to change notification settings

dfinity/candid

Candid

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.

Documentation

Implementations

Candid supports several different programming languages. This repository contains some of the implementations developed by DFINITY.

  • Rust: A serialization library based on Serde, and a compiler for generating bindings for other languages.
  • Motoko: Compiler support for importing/export Candid files. Also see the Motoko-Candid type mapping specification.
  • JavaScript: We provide a library for serialization of native JavaScript values, and a visitor class for extending Candid for building generic tools such as UI and random testing.

A list of community maintained Candid libraries:

Tools

  • didc: Candid CLI. Download prebuilt binary.
  • ui: Candid UI canister. See deployed canister on the IC
  • ic-repl: A REPL environment to communicate with canisters using Candid
  • Explain Candid: An online tool that decodes and explains a given Candid message. (Thanks to Ben Lynn)
  • Candid playground: A playground that generates UI dynamically as you type in the Candid definitions. (Thanks to B3Forge)

Tests

We provide a test suite to check Candid implementations for compliance.

Release

To make a release in this repo:

  • Update CHANGELOG.md and merge the PR into master.
  • git tag 2020年04月01日 -m "2020-04-01"
  • git push origin 2020年04月01日

The tag is always today's date. As the repo contains several targets, it is hard to give a version to the tag.

Contribution

See our CONTRIBUTING and CODE OF CONDUCT to get started.

About

Candid Library for the Internet Computer

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE-UNICODE

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 55

AltStyle によって変換されたページ (->オリジナル) /