Git Product home page Git Product logo

cdk-rs's Introduction

Introduction to the Rust canister development kit (cdk-rs)

Rust is a powerful and type sound modern programming language with an active developer community. Because Rust compiles to WebAssembly, it offers a rich development environment for writing applications to run on the Internet Computer. To help pave the way for writing applications in Rust that can be deployed on the Internet Computer, DFINITY provides some tools to simplify the process.

Collectively, these tools are referred to as the DFINITY Canister Development Kit (CDK) for Rust and consist of the following main libraries:

Package Description
ic-types The ic-types crate defines the types used to communicate with the {IC} replica, and when building applications to be deployed as canisters on the {IC}.
ic-agent The ic-agent library enables direct communication with the {IC} replica.
ic-utils The ic-utils library provides utilities for managing calls and applications deployed as canisters.
ic-cdk The ic-cdk provides the core methods that enable Rust programs to interact with the {IC} main system API. This library serves as the runtime core of the Rust CDK.
ic-cdk-macros The ic-cdk-macros library defines the procedural macros that facilitate building operation endpoints and API. This library includes key macros for update, query, import and other important operations.
ic-cdk-optimizer The ic-cdk-optimizer is a helper library used to reduce the size of WebAssembly modules.

The following diagram provides a simplified view of the Rust Canister Development Kit (CDK) building blocks from the lowest to highest level of abstraction.

CDK for Rust Building Blocks

cdk-rs's People

Contributors

hansl avatar lsgunnlsgunn avatar ericswanson-dfinity avatar lwshang avatar roman-kashitsyn avatar dependabot[bot] avatar p-shahi avatar chenyan-dfinity avatar dsarlis avatar enzoh avatar eric-swanson avatar eve832 avatar hpeebles avatar jplevyak avatar sasa-tomic avatar ellepin 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.