【Ethereum】Gethで起動したプライベートネットをMetaMaskと連携
開発時にGethから立てたプライベートネットでのテストでもRopstenのようなテストネットやメインネットを想定して、
MetaMaskからアクセスできるようにしておいた方がいいと今更ながら思ったので、その対応のメモ。
特に難しい話ではないけど。
Gethのインストールやプライベートネット、MetaMaskのインストールの方法は割愛。
1. Gethの起動。
まずはGethの起動。このとき、MetaMaskからネットワークにアクセスできるようrpscorsdomain=*
などにしてアクセスできるようにしておくこと。
以下は一例。
geth --networkid [genesis.jsonで指定したnetworkID] --rpc --rpccorsdomain "*" --rpcport "8545" --rpcapi web3,eth,net,db,personal --datadir "プライベートネットのブロック格納先パス" --nodiscover --unlock 0,1 console 2>> ./geth.log
2. MetaMaskを起動。
MetaMaskをブラウザから起動。MetaMaskの左上の接続先からLocalHost 8545を選択。 この時点でネットワークには繋がるが、Geth側で作成したアカウントはMetaMaskには表示されない。
3. アカウントのインポート
右上の人+更新マークみたいなのをクリックし、「Import Account」を選択。
SELECT TYPEを「JSON File」にして、ファイルを選択。
(もし秘密鍵が分かるのであれば、Private Keyを選択してコピペでも良い)
ここで、Gethでプライベートネットを立ち上げたブロック格納先パス(datadirで指定するとこ)の中に「keystore」ディレクトリがあるので その中の該当アカウントのJSONファイルを選択。
これでアカウントがインポートされ、MetaMaskにも表示される。 アカウント同士の送金もMetaMaskから普通にできる。