LoginSignup
1
0

More than 1 year has passed since last update.

Terra Academy で公開されているチュートリアルでTerra + Cosmwasm で dApp を構成する

Last updated at Posted at 2022-12-22

概要

今年色々あったTerraチェーン上でスマートコントラクトを構築してみたかったので、
Terra Academy で公開されているチュートリアルを追ってみました。
今回は追ってみるのは2回目なのですが、1回目の時はスマートコントラクトへの理解すらなかったため、
今ならもっと良くやっていることを理解できるのではないかと考えています。

具体的には、Solidity や Solanaで開発を行った経験が加わったので、
Terraにおけるこのツールやコマンドは、ああ、これに対応するのね、みたいなのが分かればいいなと思っています。

チュートリアルを追って、つまづきやすいところなどに言及したりしつつ、
最終的にはdAppを構成することを目標にします。

今回は手順とそれらのSolidityとの対応などをみようと思います。
別記事でプログラムの詳細についても見て詳細を書こうかと思っています。

ドキュメント

Terrain でスマートコントラクトの雛形作成

Terrainはスマートコントラクトをビルドしたり、デプロイしたりできる開発ツールであり、
SolidityではTruffleみたいなイメージで大丈夫だと思います。

ただ、チュートリアルに沿って

terrain new my_terra_dapp

でプロジェクトを生成した際に、このレポジトリにはフロントエンドのコードも含まれることに気づきました。その意味でもっとオールインなツールだなと感じました。

LocalTerra

LocalTerra chainを走らせるためのツール(というかDockerサービス)です。
Solidity の時はGanacheを使いましたね。
LocalTerraにも同じように開発用のウォレットが10個プレインストールされています。

詳細はこちら。

インストールはgithub経由で行います。

git clone https://github.com/terra-project/localterra
cd
docker-compose up

Terrain でスマートコントラクトのビルドとデプロイ

ワンコマンドでTerrainを用いてスマートコントラクトを先ほどのLocalTerraにデプロイすることができます。

cd my_terra_dapp/
terrain deploy my_terra_dapp

デプロイした後は、terrain consoleを用いて、cli からスマートコントラクトのAPIにアクセスすることも可能です。

Screen Shot 2022-12-02 at 13.57.22.png

フロントエンドコードと組み合わせる

chrome extension のterra stationを用いることで、
フロントエンドからスマートコントラクトを操作するデモアプリを使用することができます。

cd frontend
npm start

ここで、ウォレットはLocalTerraにあらかじめ登録されているものをインポートするので、以下のneumonic を使用します。

satisfy adjust timber high purchase tuition stool faith fine install that you unaware feed domain license impose boss human eager hat rent enjoy dawn

Screen Shot 2022-12-02 at 14.06.02.png

既存のウォレットをインポートして、ネットワークをLocal Terraに変更して接続すると、
ご覧のようにプリセットされた開発用Lunaが入っていることが確認できます。

increment関数を実行すると、
Screen Shot 2022-12-02 at 14.06.12.png

以下のようにカウントが更新されていることが確認できました。

Screen Shot 2022-12-02 at 14.07.51.png

これで公式の Terarin + LocalTerra のチュートリアルは完了となります。
お疲れ様でした。

まとめ

今回は、Terra AcademyおよびTerra Docsで公開されている
公式のチュートリアルに沿って、LocalTerraによりローカルに擬似的に生成したチェーン上にスマートコントラクトをデプロイし、実際にエンドポイントのAPIをcli, フロントエンド から呼ぶところまで実行してみました。

一度SoliditySolanaなどでウェブ3アプリの開発経験があれば、すんなりとチュートリアルは実行できたのではないでしょうか、
次の記事では実際のスマートコントラクトを構成するプログラムおよび、クライアントコードの中身についてもみていけたらなと思います。

今回はこの辺で。

@kenmaro

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0