5.8 KiB
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
- Deployment Questions
- Configuration Questions
- Operations Questions
- Integration Questions
- Troubleshooting Questions
General Questions
What is ChainID 138?
ChainID 138 is the DeFi Oracle Meta Mainnet, a Hyperledger Besu-based blockchain network that uses 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.
How do I verify deployment?
# 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:
./scripts/configure-network.sh
See Network Configuration Guide for details.
What environment variables are required?
See Configuration Index for which environment setup guide to use:
How do I change network parameters?
Network parameters are set in the genesis file. To change them:
- Update genesis file
- Redeploy network (requires network restart)
Operations Questions
How do I add a validator?
How do I update the oracle?
How do I monitor the network?
The network includes a full monitoring stack:
- Prometheus - Metrics collection
- Grafana - Dashboards
- Loki - Log aggregation
- Alertmanager - Alert routing
How do I backup the network?
Backup procedures are documented in the architecture documentation. See Architecture Documentation.
Integration Questions
How do I connect MetaMask?
See MetaMask Integration Guide.
How do I integrate CCIP?
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 and SDK README.
Troubleshooting Questions
Blocks are not being produced
- Check validator status:
kubectl get pods -l component=validator -n besu-network - Check validator logs:
kubectl logs -l component=validator -n besu-network - Verify validator keys are correct
- Check network connectivity between validators
- See Troubleshooting Guide for details
RPC endpoint is not responding
- Check RPC pod status:
kubectl get pods -l component=rpc -n besu-network - Check Application Gateway status
- Verify network policies
- Check rate limiting settings
- See Troubleshooting Guide for details
Oracle is not updating
- Check oracle publisher status:
kubectl get pods -l app=oracle-publisher -n besu-network - Check oracle publisher logs
- Verify data sources are accessible
- Check RPC connectivity
- Verify private key access
- See Oracle Troubleshooting Runbook
How do I check if nodes are synced?
# 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?
# 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?
# 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
Last Updated: 2025-01-27