Git Product home page Git Product logo

candid's Introduction

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

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.

candid's People

Contributors

chenyan-dfinity avatar nomeata avatar rossberg avatar lsgunnlsgunn avatar rvanasa avatar crusso avatar lwshang avatar matthewhammer avatar daniel-bloom-dfinity avatar ggreif avatar hansl avatar krpeacock avatar alexabsmith avatar osa1 avatar nathanosdev avatar bitdivine avatar mraszyk avatar roman-kashitsyn avatar ninegua avatar iota9star avatar venkkatesh-sekar avatar dependabot[bot] avatar sesi200 avatar seniorjoinu avatar nmattia avatar o0x avatar icppworld avatar ulan avatar thlo avatar web3nl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.