- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
14 KiB
Next Steps - Deployment and Integration Guide
Comprehensive list of all next steps to complete the deployment and integration of ChainID 138.
Overview
This document provides a prioritized list of all next steps required to complete the deployment and integration of ChainID 138, including infrastructure deployment, contract deployment, DNS configuration, and MetaMask integration.
Status Summary
- ✅ Code Tasks: 112/112 completed (100%)
- ⚠️ Deployment Tasks: 0/15 completed (0%)
- ⚠️ Integration Tasks: 0/10 completed (0%)
- ⚠️ Operational Tasks: 0/5 completed (0%)
🔴 Critical Priority - Immediate Actions (Week 1)
Infrastructure Deployment
1. Azure Authentication (WSL Users)
- Install Azure CLI (if not already installed)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash - Login to Azure
This will open a browser window for authentication.
az login - Verify login
az account show - Set subscription (if needed)
az account set --subscription <subscription-id> - Or use the helper script
./scripts/deployment/azure-login.sh
Note: Azure authentication is required before running deployment scripts that interact with Azure (infrastructure, Kubernetes, Cloudflare DNS).
2. Configure Environment Variables
- Create
.envfile from.env.example - Set
AZURE_SUBSCRIPTION_ID - Set
AZURE_TENANT_ID - Set
AZURE_CLIENT_ID(optional, for service principal) - Set
AZURE_CLIENT_SECRET(optional, for service principal) - Set
AZURE_RESOURCE_GROUP - Set
CLOUDFLARE_API_TOKEN - Set
CLOUDFLARE_ZONE_ID - Set
PRIVATE_KEY(deployer key) - Set
RPC_URL(production URL) - Set
EXPLORER_URL(production URL)
Script: ./scripts/deployment/deploy-all.sh --help
3. Deploy Azure Infrastructure
- Initialize Terraform backend
- Create
terraform.tfvarswith production values - Run
terraform planto review changes - Run
terraform applyto deploy infrastructure - Verify AKS cluster is created
- Verify Application Gateway is created
- Verify Key Vault is created
- Verify Network Security Groups are created
Script: ./scripts/deployment/deploy-all.sh --skip-kubernetes --skip-blockscout --skip-contracts --skip-cloudflare
4. Configure Cloudflare DNS
- Get Application Gateway public IP address
- Run Cloudflare DNS configuration script
- Verify DNS records are created:
d-bis.org(A record)www.d-bis.org(A record)rpc.d-bis.org(A record)rpc2.d-bis.org(A record)explorer.d-bis.org(A record)
- Wait for DNS propagation (5-30 minutes)
- Verify DNS resolution with
digornslookup
Script: ./scripts/deployment/cloudflare-dns.sh --zone-id <ZONE_ID> --api-token <TOKEN> --ip <IP_ADDRESS>
5. Configure SSL Certificates
- Enable Cloudflare SSL/TLS (Automatic)
- Verify SSL certificates are issued
- Test HTTPS access to all domains
- Configure SSL/TLS mode (Full or Full Strict)
- Verify certificate validity
Manual: Cloudflare Dashboard → SSL/TLS → Overview
6. Deploy Kubernetes Resources
- Configure kubectl for AKS cluster
- Create namespace:
besu-network - Deploy validators (Helm chart)
- Deploy sentries (Helm chart)
- Deploy RPC nodes (Helm chart)
- Verify all pods are running
- Verify RPC endpoints are accessible
Script: ./scripts/deployment/deploy-all.sh --skip-infrastructure --skip-blockscout --skip-contracts --skip-cloudflare
7. Deploy Blockscout Explorer
- Deploy Blockscout database (StatefulSet)
- Deploy Blockscout application (Deployment)
- Wait for database migrations to complete
- Verify Blockscout is accessible
- Configure CORS headers for MetaMask Portfolio
- Test Blockscout API endpoints
Script: ./scripts/deployment/deploy-all.sh --skip-infrastructure --skip-kubernetes --skip-contracts --skip-cloudflare
8. Deploy Contracts
- Deploy WETH contract
- Deploy Multicall contract
- Deploy Oracle Aggregator contract
- Deploy CCIP Router contract (optional)
- Verify contracts are deployed
- Verify contract code on Blockscout
- Save contract addresses to
contracts-deployed.json
Script: ./scripts/deployment/deploy-all.sh --skip-infrastructure --skip-kubernetes --skip-blockscout --skip-cloudflare
9. Update Token List
- Read contract addresses from
contracts-deployed.json - Update
metamask/token-list.jsonwith WETH address - Update
metamask/token-list.jsonwith other token addresses - Validate token list against schema
- Commit token list changes to repository
Script: ./scripts/deployment/update-token-list.sh
10. Verify Deployment
- Run deployment verification script
- Test RPC endpoint accessibility
- Test Blockscout explorer accessibility
- Test contract deployments
- Test Kubernetes resources
- Test MetaMask integration files
- Test DNS configuration
- Generate verification report
Script: ./scripts/deployment/verify-deployment.sh
🟡 High Priority - Short-Term Actions (Month 1)
MetaMask Integration
10. Submit Ethereum-Lists PR
- Fork
ethereum-lists/chainsrepository - Create branch:
add-chainid-138 - Add chain data file:
_data/chains/e138.json - Validate chain data JSON
- Create PR with description from template
- Respond to review comments
- Wait for PR approval and merge
- Verify ChainID 138 appears on Chainlist
Script: ./scripts/deployment/submit-ethereum-lists-pr.sh
11. Submit Token List to CoinGecko
- Fork
coingecko/token-listsrepository - Add token list file to repository
- Create PR to coingecko/token-lists
- Respond to review comments
- Wait for PR approval and merge
- Verify token list is accepted
Script: ./scripts/deployment/submit-token-list.sh (provides instructions)
12. Submit Token List to Uniswap
- Fork
Uniswap/token-listsrepository - Add token list file to
src/tokens/directory - Update
tokens.tsto include the list - Create PR to Uniswap/token-lists
- Respond to review comments
- Wait for PR approval and merge
- Verify token list is accepted
Script: ./scripts/deployment/submit-token-list.sh (provides instructions)
13. Submit Token List to Token Lists Aggregator
- Visit https://tokenlists.org
- Click "Add Token List"
- Enter token list URL:
https://raw.githubusercontent.com/Defi-Oracle-Tooling/smom-dbis-138/main/metamask/token-list.json - Submit for review
- Wait for approval
- Verify token list appears on aggregator
Manual: Visit tokenlists.org and submit URL
14. Verify MetaMask Portfolio Compatibility
- Add ChainID 138 to MetaMask
- Add tokens to MetaMask
- Open MetaMask Portfolio
- Verify token balances display correctly
- Verify token symbols display correctly
- Verify token logos display correctly
- Test token auto-detection (if applicable)
- Document any issues
Manual: Test with MetaMask browser extension
15. Host Token Logos
- Create token logo images (512x512 PNG)
- Upload logos to Blockscout or CDN
- Update token list with logo URLs
- Verify logos are accessible via HTTPS
- Test logo display in MetaMask
Manual: Upload to Blockscout or CDN
🟢 Medium Priority - Long-Term Actions (Quarter 1)
Bridge and DEX Integration
16. Bridge Integration
- Research bridge providers that support ChainID 138
- Evaluate bridge security and audits
- Partner with bridge provider (if needed)
- Integrate bridge into dapps
- Test bridge functionality
- Document bridge usage
Status: Requires partnership with bridge provider
17. DEX Integration
- Research DEX providers that support ChainID 138
- Evaluate DEX security and audits
- Partner with DEX provider (if needed)
- Integrate DEX into dapps
- Test DEX functionality
- Document DEX usage
Status: Requires partnership with DEX provider
18. On-Ramp Integration
- Research on-ramp providers (MoonPay, Ramp, etc.)
- Evaluate on-ramp security and compliance
- Partner with on-ramp provider
- Integrate on-ramp into dapps
- Test on-ramp functionality
- Document on-ramp usage
Status: Requires partnership with on-ramp provider
Business Development
19. Consensys Outreach
- Prepare integration proposal
- Contact Consensys business development
- Schedule meeting to discuss integration
- Submit proposal for Swaps integration
- Submit proposal for Bridge integration
- Submit proposal for on-ramp integration
- Follow up on proposals
- Track integration progress
Documentation: docs/METAMASK_BD.md
20. Monitor MetaMask Feature Updates
- Subscribe to MetaMask updates
- Monitor Delegation Toolkit pages
- Track network support announcements
- Update documentation as features are added
- Test new features when available
Manual: Monitor MetaMask announcements
🔵 Low Priority - Future Enhancements
Advanced Features
21. Enhanced Token Discovery
- Implement token discovery API
- Add token metadata endpoint
- Implement token logo CDN
- Add token verification system
- Document token discovery process
22. Advanced MetaMask Features
- Implement wallet connect integration
- Add transaction signing UI
- Implement gas estimation helpers
- Add network switching UI
- Document advanced features
23. User Documentation
- Create user guides for adding network
- Create user guides for adding tokens
- Create troubleshooting guides
- Create video tutorials
- Update documentation based on user feedback
📋 Deployment Checklist
Pre-Deployment
- Environment variables configured
- Azure credentials verified
- Cloudflare credentials verified
- Private keys secured
- Terraform state backend configured
- DNS zone verified
Deployment
- Infrastructure deployed
- DNS configured
- SSL certificates configured
- Kubernetes resources deployed
- Blockscout deployed
- Contracts deployed
- Token list updated
Post-Deployment
- Deployment verified
- RPC endpoints tested
- Blockscout tested
- Contracts verified
- MetaMask integration tested
- Documentation updated
🚀 Quick Start Commands
Complete Deployment
# Deploy everything
./scripts/deployment/deploy-all.sh
# Deploy with options
./scripts/deployment/deploy-all.sh \
--skip-infrastructure \
--skip-kubernetes \
--skip-blockscout \
--skip-contracts \
--skip-cloudflare
Individual Steps
# Configure Cloudflare DNS
./scripts/deployment/cloudflare-dns.sh \
--zone-id <ZONE_ID> \
--api-token <TOKEN> \
--ip <IP_ADDRESS>
# Update token list
./scripts/deployment/update-token-list.sh
# Verify deployment
./scripts/deployment/verify-deployment.sh
# Submit Ethereum-Lists PR
./scripts/deployment/submit-ethereum-lists-pr.sh
# Submit token list
./scripts/deployment/submit-token-list.sh
📊 Progress Tracking
Week 1 (Critical)
- Infrastructure deployment
- DNS configuration
- SSL certificates
- Kubernetes deployment
- Blockscout deployment
- Contract deployment
- Token list update
- Deployment verification
Month 1 (High Priority)
- Ethereum-Lists PR
- CoinGecko token list submission
- Uniswap token list submission
- Token Lists aggregator submission
- MetaMask Portfolio verification
- Token logo hosting
Quarter 1 (Medium Priority)
- Bridge integration
- DEX integration
- On-ramp integration
- Consensys outreach
- MetaMask feature monitoring
🔗 Related Documentation
- Deployment Guide
- MetaMask Integration Guide
- MetaMask Gaps Analysis
- MetaMask Completion Summary
- Quick Start Guide
- TODO List
📝 Notes
Environment Variables
All required environment variables must be set in .env file:
- Azure credentials (subscription, tenant, client, secret)
- Cloudflare credentials (API token, zone ID)
- Deployment keys (private key, RPC URL, explorer URL)
Deployment Order
- Infrastructure (Terraform)
- DNS (Cloudflare)
- Kubernetes (Helm charts)
- Blockscout (Kubernetes)
- Contracts (Foundry)
- Token List (Update)
- Verification (Scripts)
Verification
Run verification after each deployment step:
./scripts/deployment/verify-deployment.sh
Troubleshooting
See Troubleshooting Guide for common issues and solutions.
🎯 Success Criteria
Deployment Complete
- ✅ RPC endpoints accessible at https://rpc.d-bis.org
- ✅ Blockscout accessible at https://explorer.d-bis.org
- ✅ Contracts deployed and verified
- ✅ Token list updated with deployed addresses
- ✅ DNS configured and propagated
- ✅ SSL certificates valid
Integration Complete
- ✅ Ethereum-Lists PR submitted and merged
- ✅ Token list submitted to aggregators
- ✅ MetaMask Portfolio compatibility verified
- ✅ Token logos hosted and accessible
Production Ready
- ✅ All critical tasks completed
- ✅ All high-priority tasks completed
- ✅ Deployment verified
- ✅ Integration tested
- ✅ Documentation updated
📞 Support
For issues or questions:
- Open an issue on GitHub
- Contact the project team
- Review documentation
- Check troubleshooting guide