web3でMetaMaskに接続する

MetaMaskが有効だと global.window.web3 が見えるのでそれで判断する。

コードにすると

const web3 = new Web3();
web3.setProvider(global.window.web3.currentProvider);

これでMetaMask経由で色々できるようになる。

コントラクトのメソッドに対してsendしたい場合などはまず

web3.eth.getAccounts().then((accounts) => {});

こんな感じでアカウントのリストを読む。それで

contract.methods.hoge().send({ from: accounts[0] })

こうする。

するとMetaMaskのダイアログが出る。便利だね!

終わり