# 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 -- 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 --tail=100 # Follow logs kubectl logs -n besu-network -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 # 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