見出し画像

【完全保存版】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

このファイルで、依存関係どのファイルをビルドするかなどを定義します。

なお、CargoRustパッケージ管理ツールです。

3 rust-toolchain.toml

こちらは、その名の通り、Rustツールチェーンの設定を行うためのファイルです。

こちらは、なくても大丈夫ですが、あると便利です。

追記 コントラクトのコンパイルがうまくいかないときは

コントラクトのコンパイルがうまくいかないものの、フロントエンドとの繋ぎ込みの部分だけでもやりたいケースもあると思います。

1 フォルダの作成

まずは、「flipper」フォルダに「target」、「ink」フォルダを下のように作成して下さい。

フォルダ名を間違わないようにご注意ください。

2 ファイルのダウンロード

次に、こちらのGithubの下の部分から、この3つのファイルをダウンロードします。

3 ファイルの設定

最後に、下のように、ファイルを設定します。

また、デプロイ時には、こちらの「flipper.contract」を使用することでデプロイが可能です。


今回は、以上です。



サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊