Rust を使うには

Rust は、強力で型安全なモダンプログラミング言語で、活発な開発者コミュニティを有しています。 Rust は WebAssembly にコンパイルされるため、Internet Computer 上で動作する Dapps を開発するための豊富な開発環境を提供しています。 Internet Computer 向けの Rust での Dapps 作成を支援するために、DFINITY は開発プロセスを簡略化するツールをいくつか提供しています。

このツールを総称して DFINITY Canister Development Kit (CDK) for Rust と呼びます。これは、以下の主要ライブラリで構成されています:

パッケージ名 概要

ic-types

ic-types クレートは、分散型の Internet Computer と通信する際や、Internet Computer 上で Canister スマートコントラクトとしてデプロイされる Dapps を構築する際に使用される型定義を行います。

ic-agent

ic-agent ライブラリは、Internet Computer とのダイレクトなコミュニケーションを可能にします。

ic-utils

ic-utils ライブラリは、Canister スマートコントラクトとしてデプロイされた関数の呼び出しや Dapps を管理するためのユーティリティです。

ic-cdk

ic-cdk は、Rust プログラムが Internet Computer システムの API と対話可能なコアメソッドを提供します。Rust CDKのランタイムコアとして機能します。

ic-cdk-macros

ic-cdk-macros ライブラリは、操作用のエンドポイントや API の構築を容易にする、手続き的マクロを定義します。このライブラリは、update, queryimport やその他の重要な操作のためのマクロを含みます。

ic-cdk-optimizer

ic-cdk-optimizer は、WebAssembly モジュールのサイズを小さくするためのヘルパーライブラリです。

下のダイアグラムは、Rust Canister Development Kit (CDK) の構成ブロックを抽象度の低いものから高いものへと簡略化して図示したものです。

Rust building blocks