# Every possible CLI should be in this file.
# The odds are you are reading this because you added a CLI and didn't add it
# here and a test broke.  To fix the test add your CLI to this file.
#
# Please use a plausible value, Besu has to at least be able to parse it.
# If it is a multi-valued CLI make it a TOML array.
# If it is a number or boolean make it a number or boolean
# All other config options are strings, and must be quoted.
# Please provide some sensible grouping.

# Node Information
data-path="~/besudata"
logging="INFO"
node-private-key-file="./path/to/privateKey"

# P2P network
identity="PegaSysEng"
p2p-enabled=true
nat-method="NONE"
discovery-enabled=false
bootnodes=[
  "enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@192.168.0.1:4567",
  "enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@192.168.0.1:4567",
  "enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@192.168.0.1:4567"
]
banned-node-ids=["0x6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0","0x6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0"]
banned-node-id=["0x6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0"]
p2p-host="1.2.3.4"
p2p-interface="0.0.0.0"
p2p-port=1234
max-peers=42
remote-connections-limit-enabled=true
remote-connections-max-percentage=60
host-whitelist=["all"]
required-blocks=["8675309=123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"]

# chain
network="MAINNET"
genesis-file="~/genesis.json"
sync-mode="fast"
fast-sync-min-peers=5
network-id=303

# JSON-RPC
rpc-http-enabled=false
rpc-http-host="5.6.7.8"
rpc-http-port=5678
rpc-http-api=["DEBUG","ETH"]
rpc-http-apis=["DEBUG","ETH"]
rpc-http-cors-origins=["none"]
rpc-http-authentication-enabled=false
rpc-http-authentication-credentials-file="none"
rpc-http-authentication-jwt-public-key-file="none"
rpc-http-tls-enabled=false
rpc-http-tls-keystore-file="none.pfx"
rpc-http-tls-keystore-password-file="none.passwd"
rpc-http-tls-client-auth-enabled=false
rpc-http-tls-known-clients-file="rpc_tls_clients.txt"
rpc-http-tls-ca-clients-enabled=false

# PRIVACY TLS
privacy-tls-enabled=false
privacy-tls-keystore-file="none.pfx"
privacy-tls-keystore-password-file="none.passwd"
privacy-tls-known-enclave-file="privacy_tls_enclave.txt"

# GRAPHQL HTTP
graphql-http-enabled=false
graphql-http-host="6.7.8.9"
graphql-http-port=6789
graphql-http-cors-origins=["none"]

# WebSockets API
rpc-ws-enabled=false
rpc-ws-api=["DEBUG","ETH"]
rpc-ws-apis=["DEBUG","ETH"]
rpc-ws-host="9.10.11.12"
rpc-ws-port=9101
rpc-ws-authentication-enabled=false
rpc-ws-authentication-credentials-file="none"
rpc-ws-authentication-jwt-public-key-file="none"

# Prometheus Metrics Endpoint
metrics-enabled=false
metrics-host="8.6.7.5"
metrics-port=309
metrics-category=["RPC"]
metrics-push-enabled=false
metrics-push-host="5.5.5.1"
metrics-push-port=212
metrics-push-interval=42
metrics-push-prometheus-job="besu-everything"

# Mining
miner-enabled=false
miner-stratum-enabled=false
miner-coinbase="0x0000000000000000000000000000000000000002"
miner-extra-data="0x444F4E27542050414E4943202120484F444C2C20484F444C2C20484F444C2021"
min-gas-price=1
miner-stratum-host="0.0.0.0"
miner-stratum-port=8008

# Pruning
pruning-enabled=true

# Permissioning
permissions-nodes-config-file-enabled=false
permissions-nodes-config-file="./permissions_config.toml"
permissions-accounts-config-file-enabled=false
permissions-accounts-config-file="./permissions_config.toml"
permissions-nodes-contract-enabled=false
permissions-nodes-contract-address="0x0000000000000000000000000000000000001234"
permissions-accounts-contract-enabled=false
permissions-accounts-contract-address="0x0000000000000000000000000000000000006789"

# Privacy
privacy-url="http://127.0.0.1:8888"
privacy-public-key-file="./pubKey.pub"
privacy-enabled=false
privacy-multi-tenancy-enabled=true
privacy-precompiled-address=9
privacy-marker-transaction-signing-key-file="./signerKey"
privacy-enable-database-migration=false

# Transaction Pool
tx-pool-retention-hours=999

tx-pool-max-size=1234
Xincoming-tx-messages-keep-alive-seconds=60

# Revert Reason
revert-reason-enabled=false

# Storage plugin to use
key-value-storage="rocksdb"

# Gas limit
target-gas-limit=8000000

# transaction log bloom filter caching
auto-log-bloom-caching-enabled=true