サイト名変更・お引越しのお知らせ

【Ethereum】GethプライベートネットワークとMetaMaskを連携する方法を解説

Gethで起動したプライベートネットワークとMetaMaskを連携する方法を解説します。

モグモグさん

MetaMask上で送金やアカウント管理などができるようになります。

GUIで操作を行いたい場合や、デバッグをしたい場合などに便利です。

プライベートネットワークを立ち上げる

まずは、Gethでプライベートネットワークを立ち上げましょう。

立ち上げの方法はこちらでも解説しているので参考にしてください。

【Ethereum】Gethでプライベートネットワークを構築する方法を解説

プライベートネットワークを起動

--datadir--networkidはご自身の環境に合わせて設定してください。

一番のポイントは、--httpオプションを渡すことです。このオプションによって、httpでアクセスできるようになります。

$ geth --datadir data --networkid 15 --http

補足

WebSocketIPC(デフォルトでON)でアクセスできるようにするオプションもあります。

参考: 公式ドキュメント

アカウントを作成

次に、MetaMaskで使う用のアカウントを作成しておきます。

モグモグさん

すでにアカウントがある方は、スキップしてください。

アカウントを作成

Gethのコンソールに入り、下記のコマンドを実行します。

モグモグさん

パスワードは任意ですが、覚えておくようにしましょう。

$ personal.newAccount("password")

アカウントが正常に作成されたか確認

モグモグさん

作成されたアカウントが表示されればOKです。

$ eth.accounts

MetaMaskと連携

最後に、MetaMaskから接続して連携していきます。

プライベートネットワークを追加

  • ネットワーク名: 任意
  • 新規 RPC URL: http://localhost:8545/
  • チェーンID: ご自身のnetworkid

metamask設定画面

こんな感じでネットワークを設定しましょう。

設定して保存を押して完了です。

アカウントを追加

先ほど作成したアカウントをMetaMaskにimportしましょう。

アカウントをインポート

MetaMask上でアカウントインポートを選択するとこちらの画面が表示されます。

JSONファイルは、データディレクトリのkeystoreの中に存在していますので選択して、先ほど作成したパスワードを入力するとインポートが完了します。

モグモグさん

アカウントを複数作成し、送金等のやりとりをして動作確認をしてみると正常に動作しているのがわかると思います。

まとめ

Gethで起動したプライベートネットワークとMetaMaskを連携する方法を解説しました。

最後に手順をまとめておきます。

手順のまとめ
  • httpオプションを付与して、プライベートネットワークを立ち上げ
  • MetaMaskでネットワークを追加
  • MetaMaskでアカウントをインポート