どうも、次世代デジタル基盤開発事業部(旧ブロックチェーン事業部)の土田です。
前回、GanacheのGUIアプリ上でコントラクトやイベントログが確認出来ませんでした。今回はこちらの対応を行っていきます。
今回のゴール
GanacheのGUIアプリからコントラクトやイベントログを確認します。
現状の確認
ここまで手順を追っていただいた方はGUIからCONTRACTSタブとEVENTSタブを確認しても、何も表示されていないはずです。

こちらを表示させたいと思います。
Truffle Projectsの追加
設定を開きます。

WORKSPACEタブのTRUFFLE PROJECTSからtruffle-config.jsを指定します。本来はこれで完了です。
(wslには\\wsl$\{ディストリビューション}でファイルへアクセスできます。)
しかし、このまま再起動したらロード画面が延々と続くはずです。もしそのような状態になった場合は、一度GUIを落として再度設定を開き、REMOVE PROJECTで指定したファイルを削除して下さい。
なぜ上手く行かないのか?
原因はNode側の問題だと言われていますが、続報が無いのでなんともし難いですね・・・。
解決策
ビルドされたコントラクトが分かれば問題ないので、それらを指定するようにします。
ビルドされたコントラクトですが、truffle-config.jsにcontracts_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: "*" } } };
これらをローカルにコピーします。パスはご自身の環境に合わせて読み替えて下さい。

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

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

あとは再起動すれば完了です。
確認
すでにコントラクトをデプロイや実行していれば、そのままそれらが確認出来るはずです。
まずはCONTRACTSタブを確認しましょう。前回コンパイル&デプロイしたコントラクトが並んでいるはずです。

EVENTSタブでは、前回実行したイベントログが確認できます。

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

終わり
今回はここまでとなります。
これでGUI上でかんたんにコントラクトやイベントが確認できるようになりました!作業効率UP間違いなしですね!
(本当はwsl2上のプロジェクトを直接指定できれば良いのですが・・・。)
次回はコントラクト開発やフロントエンド開発を進めていきたいと思います。
ここまでご覧いただき、ありがとうございました。