# Besu Configuration for Core RPC Node (VMID 2500)
# This file is for the Core RPC node which only connects to local/permissioned nodes
# Path: /etc/besu/config-rpc-core.toml

data-path="/data/besu"
genesis-file="/genesis/genesis.json"

network-id=138
p2p-host="0.0.0.0"
p2p-port=30303

miner-enabled=false

sync-mode="FULL"
fast-sync-min-peers=2

# RPC Configuration (internal/core infrastructure - full APIs)
rpc-http-enabled=true
rpc-http-host="0.0.0.0"
rpc-http-port=8545
rpc-http-api=["ETH","NET","WEB3","ADMIN","DEBUG","TXPOOL"]
rpc-http-cors-origins=["*"]

rpc-ws-enabled=true
rpc-ws-host="0.0.0.0"
rpc-ws-port=8546
rpc-ws-api=["ETH","NET","WEB3","ADMIN","DEBUG","TXPOOL"]
rpc-ws-origins=["*"]

# Metrics
metrics-enabled=true
metrics-port=9545
metrics-host="0.0.0.0"
metrics-push-enabled=false

logging="INFO"

# Permissioning - ONLY local/permissioned nodes allowed
permissions-nodes-config-file-enabled=true
permissions-nodes-config-file="/var/lib/besu/permissions/permissioned-nodes.json"
permissions-accounts-config-file-enabled=false

tx-pool-max-size=8192
tx-pool-price-bump=10
tx-pool-retention-hours=6

# Static nodes - only validators (local network)
static-nodes-file="/var/lib/besu/static-nodes.json"

# Discovery - DISABLED for strict local/permissioned node control
# Only nodes in permissioned-nodes.json and static-nodes.json will be connected
discovery-enabled=false

privacy-enabled=false

rpc-tx-feecap="0x0"

max-peers=25

