Day07 実行ログ

実施内容

  1. 汎用デプロイスクリプト scripts/deploy-generic.ts を ethers v6 流儀に合わせて waitForDeployment() / getAddress() へ更新。
  2. GitHub Actions ワークフロー .github/workflows/deploy.yml を追加。
    • workflow_dispatchnetwork/contract/args を入力。
    • environment: production で手動承認ゲートを強制し、Secrets から RPC/鍵を取得。
    • デプロイ後に verify 方法の案内を表示(今後アドレスの自動受け渡しに発展可能)。
  3. デプロイ履歴ファイル docs/DEPLOYMENTS.md を作成し、Day04/05/07 で実行したローカルデプロイの記録を追記。
  4. 動作確認
    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> 3600
    • npx hardhat verify --network optimism <ADDR> <args...>

まとめ

  • 人手承認付きのCI/CD雛形とデプロイ記録ファイルを整備し、Day07 の要件(安全なデプロイ手順、Verifyへの導線、記録)をローカルで再現できる形にした。
  • 本番ネットで実行する際は .env/GitHub Secrets にRPCと鍵を設定し、workflow_dispatch で選択的に実行するだけで済む。