⛓️
Infuraを利用してTruffleからGoerliに接続してみる
マネージドイーサリアムノードのサービスプロバイダであるInfuraを利用して、TruffleからGoerliに接続する設定をメモする。
Infuraサインアップ
まずは https://infura.io/register にアクセスして、アカウントを作成する。最初にプロジェクトを作成するが、名前は何でも良い。
「MANAGE KEY」を押すとAPI KEYが表示されるのでそれをメモする。
truffle-config.js
Truffleの設定ファイルである truffle-config.js を開き、networks: {}
の中にGoerliセクションを追加する。
goerli: {
provider: () => {
return new HDWalletProvider(
mnemonic,
`https://goerli.infura.io/v3/${infuraProjectId}`
);
},
network_id: "*"
},
また、上の方にある
require('dotenv').config();
const mnemonic = process.env["MNEMONIC"];
const infuraProjectId = process.env["INFURA_PROJECT_ID"];
const HDWalletProvider = require('@truffle/hdwallet-provider');
の行もコメントアウトする。
見て分かる通り dotenv
、HDWalletProvider
を使うのでそれぞれインストールする。
npm install dotenv
npm install @truffle/hdwallet-provider
HDWalletProvider
はデプロイプロセスで利用できるプロバイダを作成するためのライブラリである。プロバイダを作成するためには、InfuraのAPI KEYおよびシークレットリカバリーフレーズ(ニーモニックとも呼ばれる)にアクセスする必要がある。そこで、環境変数を使ってアクセスできるようにしておく。
!!注意:シークレットリカバリーフレーズは絶対に公開しないように!!
$ export MNEMONIC="<あなたのシークレットリカバリーフレーズ>”
$ export INFURA_PROJECT_ID="<INFURAのAPIKEY>”
ここまで設定すれば、truffle migrate --network goerli
などのコマンドを用いてGoerliに接続できるようになる。
Discussion