- 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.
212 lines
5.8 KiB
Markdown
212 lines
5.8 KiB
Markdown
# Frequently Asked Questions (FAQ)
|
|
|
|
**Last Updated**: 2025-01-27
|
|
**Status**: Active
|
|
|
|
Common questions and answers about the DeFi Oracle Meta Mainnet (ChainID 138).
|
|
|
|
## Table of Contents
|
|
|
|
- [General Questions](#general-questions)
|
|
- [Deployment Questions](#deployment-questions)
|
|
- [Configuration Questions](#configuration-questions)
|
|
- [Operations Questions](#operations-questions)
|
|
- [Integration Questions](#integration-questions)
|
|
- [Troubleshooting Questions](#troubleshooting-questions)
|
|
|
|
## General Questions
|
|
|
|
### What is ChainID 138?
|
|
|
|
ChainID 138 is the DeFi Oracle Meta Mainnet, a production-ready blockchain network built on Hyperledger Besu with QBFT consensus.
|
|
|
|
### What consensus mechanism does the network use?
|
|
|
|
The network uses **QBFT (Quorum Byzantine Fault Tolerance)** consensus, which provides immediate finality and ~2 second block times.
|
|
|
|
### What is the block time?
|
|
|
|
The block time is approximately **2 seconds**.
|
|
|
|
### How many validators are required?
|
|
|
|
A minimum of **4 validators** is required for QBFT consensus.
|
|
|
|
### Is the network EVM-compatible?
|
|
|
|
Yes, the network is fully EVM-compatible and supports standard Ethereum tooling and contracts.
|
|
|
|
## Deployment Questions
|
|
|
|
### How long does deployment take?
|
|
|
|
- **Infrastructure**: 15-30 minutes
|
|
- **Kubernetes resources**: 10-15 minutes
|
|
- **Contract deployment**: 5-10 minutes
|
|
- **Total**: ~30-55 minutes
|
|
|
|
### What are the prerequisites for deployment?
|
|
|
|
- Azure CLI installed and configured
|
|
- Terraform >= 1.0
|
|
- kubectl configured
|
|
- Helm 3.x
|
|
- Foundry (for contracts)
|
|
|
|
### Can I deploy to multiple regions?
|
|
|
|
Yes, the network supports multi-region deployment. See [Multi-Region Deployment Guide](../azure/MULTI_REGION_VALIDATOR_DEPLOYMENT.md).
|
|
|
|
### How do I verify deployment?
|
|
|
|
```bash
|
|
# Verify infrastructure
|
|
make verify
|
|
|
|
# Check node status
|
|
kubectl get pods -n besu-network
|
|
|
|
# Test RPC endpoint
|
|
curl -X POST https://rpc.d-bis.org \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
|
```
|
|
|
|
## Configuration Questions
|
|
|
|
### How do I configure the network?
|
|
|
|
Use the interactive configuration tool:
|
|
|
|
```bash
|
|
./scripts/configure-network.sh
|
|
```
|
|
|
|
See [Network Configuration Guide](../configuration/NETWORK_CONFIGURATION_GUIDE.md) for details.
|
|
|
|
### What environment variables are required?
|
|
|
|
See [Configuration Index](../configuration/CONFIGURATION_INDEX.md) for which environment setup guide to use:
|
|
- [Azure/Cloudflare Environment Setup](../configuration/AZURE_CLOUDFLARE_ENV_SETUP.md)
|
|
- [Contract Deployment Environment Setup](../configuration/CONTRACT_DEPLOYMENT_ENV_SETUP.md)
|
|
|
|
### How do I change network parameters?
|
|
|
|
Network parameters are set in the genesis file. To change them:
|
|
1. Update genesis file
|
|
2. Redeploy network (requires network restart)
|
|
|
|
See [Parameter Change Runbook](../../runbooks/parameter-change.md).
|
|
|
|
## Operations Questions
|
|
|
|
### How do I add a validator?
|
|
|
|
See [Node Add/Remove Runbook](../../runbooks/node-add-remove.md).
|
|
|
|
### How do I update the oracle?
|
|
|
|
See [Oracle Updates Runbook](../../runbooks/oracle-updates.md).
|
|
|
|
### How do I monitor the network?
|
|
|
|
The network includes a full monitoring stack:
|
|
- **Prometheus** - Metrics collection
|
|
- **Grafana** - Dashboards
|
|
- **Loki** - Log aggregation
|
|
- **Alertmanager** - Alert routing
|
|
|
|
See [Monitoring Setup Guide](../operations/MONITORING_SETUP_GUIDE.md).
|
|
|
|
### How do I backup the network?
|
|
|
|
Backup procedures are documented in the architecture documentation. See [Architecture Documentation](../architecture/ARCHITECTURE.md#backup).
|
|
|
|
## Integration Questions
|
|
|
|
### How do I connect MetaMask?
|
|
|
|
See [MetaMask Integration Guide](../operations/integrations/METAMASK_INTEGRATION.md).
|
|
|
|
### How do I integrate CCIP?
|
|
|
|
See [CCIP Integration Guide](../operations/integrations/CCIP_INTEGRATION.md).
|
|
|
|
### What RPC endpoint should I use?
|
|
|
|
Production RPC endpoint: `https://rpc.d-bis.org`
|
|
|
|
### How do I use the Tatum SDK?
|
|
|
|
See [Tatum SDK Documentation](../api/TATUM_SDK.md) and [SDK README](../../sdk/README.md).
|
|
|
|
## Troubleshooting Questions
|
|
|
|
### Blocks are not being produced
|
|
|
|
1. Check validator status: `kubectl get pods -l component=validator -n besu-network`
|
|
2. Check validator logs: `kubectl logs -l component=validator -n besu-network`
|
|
3. Verify validator keys are correct
|
|
4. Check network connectivity between validators
|
|
5. See [Troubleshooting Guide](TROUBLESHOOTING.md) for details
|
|
|
|
### RPC endpoint is not responding
|
|
|
|
1. Check RPC pod status: `kubectl get pods -l component=rpc -n besu-network`
|
|
2. Check Application Gateway status
|
|
3. Verify network policies
|
|
4. Check rate limiting settings
|
|
5. See [Troubleshooting Guide](TROUBLESHOOTING.md) for details
|
|
|
|
### Oracle is not updating
|
|
|
|
1. Check oracle publisher status: `kubectl get pods -l app=oracle-publisher -n besu-network`
|
|
2. Check oracle publisher logs
|
|
3. Verify data sources are accessible
|
|
4. Check RPC connectivity
|
|
5. Verify private key access
|
|
6. See [Oracle Troubleshooting Runbook](../../runbooks/oracle-troubleshooting.md)
|
|
|
|
### How do I check if nodes are synced?
|
|
|
|
```bash
|
|
# Check block numbers across nodes
|
|
kubectl exec -n besu-network <pod-name> -- curl -X POST http://localhost:8545 \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
|
```
|
|
|
|
### How do I view logs?
|
|
|
|
```bash
|
|
# View pod logs
|
|
kubectl logs -n besu-network <pod-name> --tail=100
|
|
|
|
# Follow logs
|
|
kubectl logs -n besu-network <pod-name> -f
|
|
|
|
# View logs from all pods
|
|
kubectl logs -n besu-network -l component=validator --tail=100
|
|
```
|
|
|
|
### How do I restart a service?
|
|
|
|
```bash
|
|
# Restart a pod
|
|
kubectl delete pod -n besu-network <pod-name>
|
|
|
|
# Restart all pods of a type
|
|
kubectl delete pods -n besu-network -l component=validator
|
|
```
|
|
|
|
## Related Documentation
|
|
|
|
- [Troubleshooting Guide](TROUBLESHOOTING.md)
|
|
- [Getting Started](GETTING_STARTED.md)
|
|
- [Master Documentation Index](../MASTER_DOCUMENTATION_INDEX.md)
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-01-27
|
|
|