villagerHの日記

勉強したことや苦労した事などを書き綴ります

コントラクトの呼び出しに苦戦中

いくつかのサイトさんを参考にApp.vueを編集し、最低限の感じはできたので動作させてみて確認しようと思ったところコントラクトの関数をうまく呼び出せず苦戦中です…

ログを出しつつ色々試行錯誤してみたところMetaMaskのアカウントリストの取得でempty状態で返ってきてしまっているようなので原因を調査。


調べた結果MetaMaskのアップデートでセキュリティリスク回避のためにプライベートモードなるものが新しく追加されており
web3.eth.getAccountsの呼び出し前にethereum.enable()の呼び出しが必要になった模様。なるほど。

ethereum.enable()を入れて試してみたところ「許可しますか?」的な小ウインドウが出てきて許可したところgetAccountsで無事アカウントが取れるようになりました。



しかし未だにコントラクトの関数呼び出しは失敗します。
instanceの中身を見てみるとアドレスとかは問題なく取得できている模様。

ちなみに
The send transactions "from" field must be defined!
とコンソール画面にはエラー表示が。

fromフィールドを用意しろってことのようですが・・・時間になってしまったので明日また調べます。