Day07 実行ログ
実施内容
- 汎用デプロイスクリプト
scripts/deploy-generic.tsを ethers v6 流儀に合わせてwaitForDeployment()/getAddress()へ更新。 - GitHub Actions ワークフロー
.github/workflows/deploy.ymlを追加。workflow_dispatchでnetwork/contract/argsを入力。environment: productionで手動承認ゲートを強制し、Secrets から RPC/鍵を取得。- デプロイ後に verify 方法の案内を表示(今後アドレスの自動受け渡しに発展可能)。
- デプロイ履歴ファイル
docs/DEPLOYMENTS.mdを作成し、Day04/05/07 で実行したローカルデプロイの記録を追記。 - 動作確認:
CONTRACT=WalletBox ARGS=hello \ npx hardhat run scripts/deploy-generic.ts --network localhost → deployed: 0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1- 生成アドレスを
docs/DEPLOYMENTS.mdに追記。
- 生成アドレスを
参考
.env.exampleには Mainnet / Optimism / Etherscan キー欄がすでに存在。Secrets を GitHub Environment に置けばワークフローがそのまま使える。- Verify コマンド例(未実行)
npx hardhat verify --network mainnet <ADDR> 3600npx hardhat verify --network optimism <ADDR> <args...>
まとめ
- 人手承認付きのCI/CD雛形とデプロイ記録ファイルを整備し、Day07 の要件(安全なデプロイ手順、Verifyへの導線、記録)をローカルで再現できる形にした。
- 本番ネットで実行する際は
.env/GitHub Secrets にRPCと鍵を設定し、workflow_dispatchで選択的に実行するだけで済む。