TruffleSuiteで始めるDapps開発3

どうも、次世代デジタル基盤開発事業部(旧ブロックチェーン事業部)の土田です。

前回、GanacheのGUIアプリ上でコントラクトやイベントログが確認出来ませんでした。今回はこちらの対応を行っていきます。

tec.tecotec.co.jp

今回のゴール

GanacheのGUIアプリからコントラクトやイベントログを確認します。

現状の確認

ここまで手順を追っていただいた方はGUIからCONTRACTSタブとEVENTSタブを確認しても、何も表示されていないはずです。 f:id:teco_tsuchida:20210930091906p:plain f:id:teco_tsuchida:20210930091937p:plain

こちらを表示させたいと思います。

Truffle Projectsの追加

設定を開きます。 f:id:teco_tsuchida:20210930091957p:plain

WORKSPACEタブのTRUFFLE PROJECTSからtruffle-config.jsを指定します。本来はこれで完了です。 f:id:teco_tsuchida:20210930092010p:plain (wslには\\wsl$\{ディストリビューション}でファイルへアクセスできます。)

しかし、このまま再起動したらロード画面が延々と続くはずです。もしそのような状態になった場合は、一度GUIを落として再度設定を開き、REMOVE PROJECTで指定したファイルを削除して下さい。

なぜ上手く行かないのか?

原因はNode側の問題だと言われていますが、続報が無いのでなんともし難いですね・・・。

github.com

解決策

ビルドされたコントラクトが分かれば問題ないので、それらを指定するようにします。

ビルドされたコントラクトですが、truffle-config.jscontracts_build_directoryの指定先にあるはずです。

const path = require("path");

module.exports = {
  // See <http://truffleframework.com/docs/advanced/configuration>
  // to customize your Truffle configuration!
  contracts_build_directory: path.join(__dirname, "client/src/contracts"),
  networks: {
    development: {
      host: "127.0.0.1",
      port: 8545,
      network_id: "*"
    }
  }
};

これらをローカルにコピーします。パスはご自身の環境に合わせて読み替えて下さい。

f:id:teco_tsuchida:20210930092310p:plain

次に、truffle-config.jsをコピーします。networks等の設定は残っていても問題ないとは思いますが、気になる方はcontracts_build_directoryのみの設定ファイルを別途作成すると良いと思います。

f:id:teco_tsuchida:20210930092333p:plain

準備ができたら、GUIから再度ADD PROJECTをします。

f:id:teco_tsuchida:20210930092344p:plain

あとは再起動すれば完了です。

確認

すでにコントラクトをデプロイや実行していれば、そのままそれらが確認出来るはずです。

まずはCONTRACTSタブを確認しましょう。前回コンパイル&デプロイしたコントラクトが並んでいるはずです。 f:id:teco_tsuchida:20210930092418p:plain

EVENTSタブでは、前回実行したイベントログが確認できます。 f:id:teco_tsuchida:20210930092426p:plain

一覧のイベントログをクリックすると、より詳細なログが確認できます。今回は前回生成したゾンビが確認できると思います。 f:id:teco_tsuchida:20210930092439p:plain

終わり

今回はここまでとなります。

これでGUI上でかんたんにコントラクトやイベントが確認できるようになりました!作業効率UP間違いなしですね!
(本当はwsl2上のプロジェクトを直接指定できれば良いのですが・・・。)

次回はコントラクト開発やフロントエンド開発を進めていきたいと思います。
ここまでご覧いただき、ありがとうございました。

www.tecotec.co.jp

その他参考

github.com

www.trufflesuite.com