Skip to content

Commit 75b42cc

Browse files
authored
Merge pull request #109 from gboigwe/feat/base-mainnet-deployment
Feat/base mainnet deployment
2 parents 34d8d9b + 02f3572 commit 75b42cc

9 files changed

Lines changed: 1405 additions & 4 deletions

packages/hardhat/DEPLOYMENT.md

Lines changed: 453 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# BASE Mainnet Deployment - Quick Reference
2+
3+
## Current Deployment Status
4+
5+
### BASE Mainnet (Chain ID: 8453)
6+
- **Status**: ✅ DEPLOYED
7+
- **Contract Address**: `0x26aa860EbC8e0cdEcc51A5c2583Ad94b27C62156`
8+
- **Basescan**: https://basescan.org/address/0x26aa860EbC8e0cdEcc51A5c2583Ad94b27C62156
9+
- **USDC Address**: `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`
10+
11+
### BASE Sepolia (Chain ID: 84532)
12+
- **Status**: ⏳ PENDING DEPLOYMENT
13+
- **USDC Address**: `0x036CbD53842c5426634e7929541eC2318f3dCF7e`
14+
15+
---
16+
17+
## Quick Start
18+
19+
### 1. Deploy to BASE Sepolia (Testnet)
20+
21+
```bash
22+
# Set up environment
23+
cp .env.example .env
24+
# Edit .env with your keys
25+
26+
# Compile contracts
27+
yarn compile
28+
29+
# Run tests
30+
yarn test
31+
32+
# Deploy
33+
yarn deploy --network baseSepolia
34+
35+
# Verify deployment
36+
CONTRACT_ADDRESS=0x... yarn hardhat run scripts/verify-deployment.ts --network baseSepolia
37+
```
38+
39+
### 2. Deploy to BASE Mainnet (Production)
40+
41+
⚠️ **WARNING: PRODUCTION DEPLOYMENT - REAL FUNDS AT RISK**
42+
43+
```bash
44+
# Complete security checklist first!
45+
# See SECURITY_AUDIT.md
46+
47+
# Deploy with safety checks
48+
yarn deploy --network base
49+
50+
# Verify ownership transferred to multisig
51+
CONTRACT_ADDRESS=0x... yarn hardhat run scripts/verify-deployment.ts --network base
52+
```
53+
54+
---
55+
56+
## Important Files
57+
58+
- `DEPLOYMENT.md` - Comprehensive deployment guide
59+
- `SECURITY_AUDIT.md` - Security checklist (complete before mainnet)
60+
- `.env.example` - Environment variables template
61+
- `deploy/01_deploy_base_sepolia.ts` - Sepolia deployment script
62+
- `deploy/02_deploy_base_mainnet.ts` - Mainnet deployment script
63+
- `scripts/verify-deployment.ts` - Post-deployment verification
64+
- `scripts/update-frontend.ts` - Frontend update helper
65+
66+
---
67+
68+
## Network Configuration
69+
70+
### BASE Mainnet
71+
- Chain ID: 8453
72+
- RPC: https://mainnet.base.org
73+
- Explorer: https://basescan.org
74+
- USDC: `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`
75+
76+
### BASE Sepolia
77+
- Chain ID: 84532
78+
- RPC: https://sepolia.base.org
79+
- Explorer: https://sepolia.basescan.org
80+
- USDC: `0x036CbD53842c5426634e7929541eC2318f3dCF7e`
81+
- Faucet: https://www.coinbase.com/faucets/base-ethereum-sepolia-faucet
82+
83+
---
84+
85+
## Pre-Deployment Checklist
86+
87+
### Testnet (BASE Sepolia)
88+
- [ ] Environment variables configured
89+
- [ ] Deployer wallet has test ETH
90+
- [ ] Tests passing
91+
- [ ] Basescan API key set
92+
93+
### Mainnet (BASE)
94+
- [ ] ✅ Security audit completed
95+
- [ ] ✅ Testnet deployment successful
96+
- [ ] ✅ Multisig wallet configured
97+
- [ ] ✅ Team sign-off
98+
- [ ] Deployer wallet has sufficient ETH (0.05+)
99+
- [ ] Emergency procedures documented
100+
- [ ] Monitoring configured
101+
102+
---
103+
104+
## Post-Deployment Tasks
105+
106+
1. **Verify Contract**
107+
```bash
108+
yarn hardhat verify --network base <ADDRESS>
109+
```
110+
111+
2. **Update Frontend**
112+
- Edit `packages/nextjs/contracts/deployedContracts.ts`
113+
- Add contract address for appropriate chain ID
114+
- Run `yarn hardhat run scripts/update-frontend.ts`
115+
116+
3. **Test Deployment**
117+
- Perform test transaction
118+
- Verify voice receipt creation
119+
- Check NFT minting
120+
121+
4. **Configure Monitoring**
122+
- Set up alerts for large transactions
123+
- Monitor error rates
124+
- Track contract events
125+
126+
5. **Announce**
127+
- Notify team
128+
- Update documentation
129+
- Communicate to users
130+
131+
---
132+
133+
## Troubleshooting
134+
135+
### "Insufficient funds for gas"
136+
- Get more ETH from faucet (testnet) or fund wallet (mainnet)
137+
138+
### "Contract verification failed"
139+
- Check Basescan API key in `.env`
140+
- Verify compiler version matches (0.8.20)
141+
- Try manual verification
142+
143+
### "Nonce too high"
144+
- Wait a few minutes and retry
145+
- Or reset nonce (advanced users only)
146+
147+
---
148+
149+
## Security Notes
150+
151+
⚠️ **NEVER commit `.env` file to git**
152+
153+
⚠️ **Mainnet deployments require multisig wallet**
154+
155+
⚠️ **Complete security audit before mainnet deployment**
156+
157+
⚠️ **Test thoroughly on testnet first**
158+
159+
---
160+
161+
## Support & Resources
162+
163+
- **Deployment Guide**: [DEPLOYMENT.md](./DEPLOYMENT.md)
164+
- **Security Checklist**: [SECURITY_AUDIT.md](./SECURITY_AUDIT.md)
165+
- **Hardhat Docs**: https://hardhat.org/docs
166+
- **BASE Docs**: https://docs.base.org/
167+
- **Basescan**: https://basescan.org/
168+
169+
---
170+
171+
**Last Updated**: 2025-12-12
172+
**Contract Version**: 1.0.0
173+
**Solidity Version**: 0.8.20

0 commit comments

Comments
 (0)