Files
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- 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.
2025-12-12 14:57:48 -08:00

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