Hello, World!

このサンプルは、以下の 2つの Canister スマートコントラクトからなるごく単純な Dapp です。

  • アプリケーションのロジックを実装しているシンプルなバックエンド Canister である hello

  • Dapp の Web ユーザーインターフェースのアセットを提供するシンプルなフロントエンドアセット Caninster である hello_assets

これは、よくある hello world に相当する Dapp で、 IC 上のここで 動作しているのを見ることができます。

このサンプルは、以下の説明に従って dfx new を実行して作成されたデフォルトのプロジェクトに基づいています。 MotokoRust のクイックスタートドキュメント。

サンプルコードはこちらの github の samples リポジトリの、 MotokoRust のどちらでも見ることができます。

Canister hello は Motoko で実装されても Rust で実装されても、同じ Candid インターフェイスを提供します。

service : {
  greet: (text) -> (text);
}

フロントエンド Canister である hello_assets は、引数入力のためのテキストボックスと、その引数で greet 関数を呼び出すためのボタンを持つ HTML ページを表示します。 呼び出しの結果はメッセージボックスに表示されます。

hello フロントエンド

フロントエンド Canister は dfx によって提供される汎用的な Canister ですが、 ブラウザに提供するアセットは、dfxプロジェクトの設定とプロジェクトファイルによって決定されます。

フロントエンド Canister とそのアセットは、両方のプロジェクトで同じものです。