Foundryを使って、テストコントラクトのVerifyまでを実行しよう!
本日はFoundryを使って、コントラクトのデプロイ・Verifyまでを実行してみましょう。
0 事前準備について
1 テストアカウントの作成について
テストを行うときは、間違って、実際の資金が使われないよう、テスト用のアカウントで行うのが良いと思います。
テスト用のアカウントを準備してください。
やり方が不明な場合は、こちらをご参照ください。
2 Sepoliaトークンの取得について
本日は、イーサリアムのテストネットである、Sepoliaにデプロイを行います。
事前にSepoliaトークンの取得をお願いします。
やり方が不明な場合は、こちらをご参照ください。
3 EtherscanのAPIキーの取得について
今回は、Verifyまでを自動的に行います。
そのため、事前にEtherscanのAPIキーの取得をお願いします。
やり方が不明な場合は、こちらをご参照ください。
1 Foundryのインストールを行う
では、Foundryのインストールを行いましょう。
こちらから行っていきます。
1 インストールの開始
こちらのコマンドからインストールを開始します。
ターミナルを開き、実行すると、このようになりました。(私のPCはzshなので、そこは変えています。)
2 PATHの反映
PATHが追加されたようなので、「Source」コマンドを打つように書かれています。
このように実行します。
3 インストールの実行
このように、インストールを行うには、シンプルに「foundryup」と入力すると書かれています。
下のように実行することができました。
また、ここで、「forge」「cast」「anvil」「chisel」の4つがインストールされたことが確認できました。
4 エラーが起きた場合について
うまくいかない場合は、こちらのページをご参照ください。
2 プロジェクトを作成しよう
では、実際にプロジェクトを作ってみましょう。
こちらに沿って進めていきます。
1 プロジェクトの作成
では、こちらのコマンドでプロジェクトを作成します。
forge init hello_foundry
なお、できたコントラクトはこちらになります。
2 コンパイルの実行
次のコマンドでコンパイルを行います。
forge build
3 テストの実行
最後に、こちらのコマンドでテストを行います。
(本日は、中身に触れません。)
forge test
ちなみに、こちらがテストのコードです。
3 Sepoliaへのデプロイについて
1 Deployについて
デプロイのやり方は、こちらに沿って進めていきます。
2 SepoliaのRPCの取得について
デプロイに必要なRPCはChainlistから取ってくるのが便利だと思います。
任意の「RPC Server Address」を使用します。
3 デプロイを実行しよう
では、「forge create」コマンドで実行してみましょう。
下のように、①RPC URL、②秘密鍵、③デプロイするコントラクトを指定しています。
forge create --rpc-url <your_rpc_url> \
--private-key <your_private_key> \
> src/Counter.sol:Counter
下のように、デプロイが完了しました。
4 エクスプローラで確認しよう
エクスプローラで確認すると、このようにデプロイがされていることが確認できました。
5 引数が必要な場合について
ちなみに、デプロイ時に引数が必要なときは、下のように、
「--constructor-args」で指定します。
6 Verifyも実施しよう
Verifyを実行するには、下のように、「--etherscan-api-key」と「--verify」を設定します。
forge create --rpc-url <your_rpc_url> \
--private-key <your_private_key> \
--etherscan-api-key <your_etherscan_api_key> \
--verify \
src/Counter.sol:MyToken
下のように実行することができました。
エクスプローラを確認すると、このように「Verify」ができていることがわかります。
今回は以上です。