【完全保存版】AstarのWASMのサンプルコントラクトを作ってみよう!
0 はじめに
1 環境設定について
事前に、下の部分から、お手持ちのPCに合わせて、環境設定を行なってください。
2 Shibuyaトークンの取得について
次に、Polkadot-jsでウォレットを作成し、Shibuyaトークンを取得します。
取得方法は、こちらをご参照ください
1 実際に作ってみよう!
1 Git cloneを行う
では、具体的な処理に移っていきましょう。
次のコマンドで、git cloneを行います。
git clone https://github.com/ytakahashi2020/flipper_test.git
なお、こちらのGithubを使っています。
2 コンパイルを行う
では、コンパイルを行いましょう。
次に、下のように、コントラクトのあるフォルダに移動します。
cd flipper_test/contracts/flipper
下のコマンドでコンパイルを行います。
cargo contract build
下のようになれば、成功です。
この「~.contract」というファイルを使うことになります。
3 デプロイする
Substrateに行き、デプロイしましょう。
「Astar Shibuya」であることを確認し、下のように、「Upload New Contract Code」を実行します。
ここで使用するファイルを選択します。
ここで選ぶのが、コンパイル時にできた、「flipper.contract」です。
このように、選択し、「Next」で進みます。
ここで、初期値の設定などが行われます。
今回は、このまま、「Next」で進みます。
「Upload and Instantiate」でデプロイを行います。
Polkadot.jsが立ち上がるので、実行を行います。
これで、完成しました!
コントラクトを作ることができました。
3 ファイル構成の概要を知ろう
1 lib.rs
実際のコントラクトの中身が書いてあるのが、こちらの「lib.rs」です。
拡張子が「.rs」とあるように、Rustで書かれています。
2 Cargo.toml
このファイルで、依存関係やどのファイルをビルドするかなどを定義します。
なお、CargoはRustのパッケージ管理ツールです。
3 rust-toolchain.toml
こちらは、その名の通り、Rustのツールチェーンの設定を行うためのファイルです。
こちらは、なくても大丈夫ですが、あると便利です。
追記 コントラクトのコンパイルがうまくいかないときは
コントラクトのコンパイルがうまくいかないものの、フロントエンドとの繋ぎ込みの部分だけでもやりたいケースもあると思います。
1 フォルダの作成
まずは、「flipper」フォルダに「target」、「ink」フォルダを下のように作成して下さい。
フォルダ名を間違わないようにご注意ください。
2 ファイルのダウンロード
次に、こちらのGithubの下の部分から、この3つのファイルをダウンロードします。
3 ファイルの設定
最後に、下のように、ファイルを設定します。
また、デプロイ時には、こちらの「flipper.contract」を使用することでデプロイが可能です。
今回は、以上です。