どうも、次世代デジタル基盤開発事業部(旧ブロックチェーン事業部)の土田です。
前回、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上のプロジェクトを直接指定できれば良いのですが・・・。)
次回はコントラクト開発やフロントエンド開発を進めていきたいと思います。
ここまでご覧いただき、ありがとうございました。