-
Notifications
You must be signed in to change notification settings - Fork 0
Implement secure mainnet deployment strategy #3
Copy link
Copy link
Open
Description
Summary
Current deployment setup uses a plain private key in .env (TESTNET_DEPLOYER_PRIVATE_KEY). This is acceptable for testnets but insufficient for mainnet deployments.
Current state
.envfile withTESTNET_DEPLOYER_PRIVATE_KEY— testnets only- Same key used across Sepolia, Chiado, Base Sepolia
- Key stored as plaintext in local file (gitignored)
Requirements for mainnet
Evaluate and implement one or more of:
- Hardware wallet (Ledger/Trezor) via
@nomicfoundation/hardhat-ledger— key never leaves device - Multisig (Gnosis Safe) — deployer proposes, multiple signers approve
- Cloud KMS (AWS KMS / GCP KMS) — key material stays in HSM
- Separate env vars — at minimum, distinct
MAINNET_DEPLOYER_PRIVATE_KEYto prevent accidental cross-environment use
Acceptance criteria
- Mainnet deployment uses a method where private key is not stored as plaintext
- Clear separation between testnet and mainnet deployment flows
- Documentation updated with mainnet deployment instructions
- Deployment checklist for mainnet launches
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels