Files
smom-dbis-138/docs/guides/FAQ.md

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

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:

  1. Update genesis file
  2. Redeploy network (requires network restart)

See Parameter Change Runbook.

Operations Questions

How do I add a validator?

See Node Add/Remove Runbook.

How do I update the oracle?

See Oracle Updates Runbook.

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.

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?

See CCIP Integration Guide.

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

  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 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 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

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

Last Updated: 2025-01-27