Files
smom-dbis-138/config/rpc-method-policy.yaml

96 lines
2.0 KiB
YAML
Raw Normal View History

# RPC Method Policy Configuration
# Defines which JSON-RPC methods are allowed and their rate limits
# Allowed methods for public RPC
allowed_methods:
- eth_blockNumber
- eth_call
- eth_estimateGas
- eth_gasPrice
- eth_getBalance
- eth_getBlockByHash
- eth_getBlockByNumber
- eth_getBlockTransactionCountByHash
- eth_getBlockTransactionCountByNumber
- eth_getCode
- eth_getLogs
- eth_getStorageAt
- eth_getTransactionByHash
- eth_getTransactionByBlockHashAndIndex
- eth_getTransactionByBlockNumberAndIndex
- eth_getTransactionCount
- eth_getTransactionReceipt
- eth_getUncleByBlockHashAndIndex
- eth_getUncleByBlockNumberAndIndex
- eth_getUncleCountByBlockHash
- eth_getUncleCountByBlockNumber
- eth_protocolVersion
- eth_syncing
- net_listening
- net_peerCount
- net_version
- web3_clientVersion
- web3_sha3
# Blocked methods for public RPC (write operations)
blocked_methods:
- eth_sendTransaction
- eth_sendRawTransaction
- miner_start
- miner_stop
- miner_setEtherbase
- admin_addPeer
- admin_removePeer
- admin_addTrustedPeer
- admin_removeTrustedPeer
- admin_peers
- admin_nodeInfo
- debug_traceBlock
- debug_traceBlockByNumber
- debug_traceBlockByHash
- debug_traceTransaction
- debug_traceCall
- debug_dumpBlock
- debug_getBadBlocks
- debug_getRawHeader
- debug_getRawBlock
- debug_getRawReceipts
- debug_getRawTransaction
# Rate limits (requests per minute per IP)
rate_limits:
default: 1200
eth_call: 600
eth_getLogs: 300
eth_getBlockByNumber: 600
eth_getTransactionReceipt: 600
eth_estimateGas: 300
# Log range guards for eth_getLogs
log_range_limits:
max_block_range: 10000
max_topics: 4
max_addresses: 10
# Authentication
authentication:
required: false # Set to true to require API keys
api_key_header: "X-API-Key"
jwt_enabled: false
jwt_secret: ""
# CORS
cors:
enabled: true
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- OPTIONS
allowed_headers:
- Content-Type
- Authorization
- X-API-Key