106 lines
3.6 KiB
Markdown
106 lines
3.6 KiB
Markdown
# Remaining Steps to Complete Deployment
|
|
|
|
## Critical Issues
|
|
|
|
### 1. Besu RPC Nodes Not Running
|
|
**Status**: ❌ Blocking contract deployment
|
|
|
|
**Issue**: The Besu RPC nodes (VMIDs 2500, 2501, 2502) are failing to start due to a RocksDB database metadata corruption issue.
|
|
|
|
**Error**:
|
|
```
|
|
Failed to retrieve the RocksDB database meta version: No content to map due to end-of-input
|
|
```
|
|
|
|
**Fix Required**:
|
|
1. Check Besu data directories in containers 2500, 2501, 2502
|
|
2. Either fix the database metadata or reinitialize the blockchain nodes
|
|
3. Verify RPC endpoints are accessible:
|
|
- http://192.168.11.250:8545
|
|
- http://192.168.11.251:8545
|
|
- http://192.168.11.252:8545
|
|
|
|
**Commands to diagnose**:
|
|
```bash
|
|
ssh root@192.168.11.10 "pct exec 2500 -- ls -la /var/lib/besu/data"
|
|
ssh root@192.168.11.10 "pct exec 2500 -- journalctl -u besu-rpc -n 50"
|
|
```
|
|
|
|
### 2. Contract Deployment
|
|
**Status**: ⏳ Waiting for RPC nodes
|
|
|
|
Once RPC nodes are fixed, deploy contracts:
|
|
```bash
|
|
ssh root@192.168.11.10 "pct exec 3001 -- bash -c 'cd /opt/contracts && export PATH=\"/root/.local/share/pnpm:\$PATH\" && pnpm run deploy:chain138'"
|
|
```
|
|
|
|
After deployment, update these environment files with the deployed addresses:
|
|
- `frontend/.env`
|
|
- `frontend/.env.production`
|
|
- `frontend/.env.local`
|
|
- `backend/.env`
|
|
- `contracts/.env`
|
|
|
|
## Completed Steps ✅
|
|
|
|
1. ✅ Chain 138 network configuration added to frontend, backend, and contracts
|
|
2. ✅ Environment files created with Chain 138 RPC URLs
|
|
3. ✅ Frontend container deployed (VMID 3000)
|
|
4. ✅ Backend container deployed (VMID 3001)
|
|
5. ✅ Indexer container deployed (VMID 3002)
|
|
6. ✅ Database container deployed (VMID 3003)
|
|
7. ✅ Contracts code copied to backend container
|
|
8. ✅ Systemd services configured for all components
|
|
|
|
## Next Steps After RPC Fix
|
|
|
|
1. **Deploy Contracts**
|
|
```bash
|
|
ssh root@192.168.11.10 "pct exec 3001 -- bash -c 'cd /opt/contracts && export PATH=\"/root/.local/share/pnpm:\$PATH\" && pnpm run deploy:chain138'"
|
|
```
|
|
|
|
2. **Update Contract Addresses**
|
|
- Extract deployed addresses from deployment output
|
|
- Update `NEXT_PUBLIC_TREASURY_WALLET_ADDRESS` in frontend env files
|
|
- Update `NEXT_PUBLIC_SUB_ACCOUNT_FACTORY_ADDRESS` in frontend env files
|
|
- Update `CONTRACT_ADDRESS` in backend/.env
|
|
- Update `CONTRACT_ADDRESS` in indexer container
|
|
|
|
3. **Restart Services**
|
|
```bash
|
|
ssh root@192.168.11.10 "pct exec 3000 -- systemctl restart solace-frontend"
|
|
ssh root@192.168.11.10 "pct exec 3001 -- systemctl restart solace-backend"
|
|
ssh root@192.168.11.10 "pct exec 3002 -- systemctl restart solace-indexer"
|
|
```
|
|
|
|
4. **Verify Deployment**
|
|
- Check frontend: http://192.168.11.60 (or configured domain)
|
|
- Check backend API: http://192.168.11.61:3001
|
|
- Check indexer logs: `ssh root@192.168.11.10 "pct exec 3002 -- journalctl -u solace-indexer -f"`
|
|
|
|
## Service Status Check
|
|
|
|
```bash
|
|
# Check all services
|
|
ssh root@192.168.11.10 "pct exec 3000 -- systemctl status solace-frontend"
|
|
ssh root@192.168.11.10 "pct exec 3001 -- systemctl status solace-backend"
|
|
ssh root@192.168.11.10 "pct exec 3002 -- systemctl status solace-indexer"
|
|
ssh root@192.168.11.10 "pct exec 3000 -- systemctl status nginx"
|
|
```
|
|
|
|
## Network Configuration
|
|
|
|
- **Frontend**: 192.168.11.60 (VMID 3000)
|
|
- **Backend**: 192.168.11.61 (VMID 3001)
|
|
- **Indexer**: 192.168.11.62 (VMID 3002)
|
|
- **Database**: 192.168.11.63 (VMID 3003)
|
|
- **RPC Nodes**: 192.168.11.250-252 (VMIDs 2500-2502)
|
|
|
|
## Environment Files Location
|
|
|
|
- Frontend: `/opt/solace-frontend/.env` (VMID 3000)
|
|
- Backend: `/opt/solace-backend/.env` (VMID 3001)
|
|
- Indexer: `/opt/solace-indexer/.env` (VMID 3002)
|
|
- Contracts: `/opt/contracts/.env` (VMID 3001)
|
|
|