github.com/palisadeinc/bor@v0.0.0-20230615125219-ab7196213d15/docs/cli/example_config.toml (about)

     1  # This configuration file is for reference and learning purpose only.
     2  # The default value of the flags is provided below (except a few flags which has custom defaults which are explicitly mentioned).
     3  # Recommended values for mainnet and/or mumbai are also provided.
     4  
     5  chain = "mainnet"               # Name of the chain to sync ("mumbai", "mainnet") or path to a genesis file
     6  identity = "Annon-Identity"     # Name/Identity of the node (default = OS hostname)
     7  verbosity = 3                   # Logging verbosity for the server (5=trace|4=debug|3=info|2=warn|1=error|0=crit) (`log-level` was replaced by `verbosity`, and thus will be deprecated soon)
     8  vmdebug = false                 # Record information useful for VM and contract debugging
     9  datadir = "var/lib/bor"         # Path of the data directory to store information
    10  ancient = ""                    # Data directory for ancient chain segments (default = inside chaindata)
    11  keystore = ""                   # Path of the directory where keystores are located
    12  "rpc.batchlimit" = 100          # Maximum number of messages in a batch (default=100, use 0 for no limits)
    13  "rpc.returndatalimit" = 100000  # Maximum size (in bytes) a result of an rpc request could have (default=100000, use 0 for no limits)
    14  syncmode = "full"               # Blockchain sync mode (only "full" sync supported)
    15  gcmode = "full"                 # Blockchain garbage collection mode ("full", "archive")
    16  snapshot = true                 # Enables the snapshot-database mode
    17  "bor.logs" = false              # Enables bor log retrieval
    18  ethstats = ""                   # Reporting URL of a ethstats service (nodename:secret@host:port)
    19  devfakeauthor = false           # Run miner without validator set authorization [dev mode] : Use with '--bor.withoutheimdall' (default: false)
    20  
    21  ["eth.requiredblocks"]  # Comma separated block number-to-hash mappings to require for peering (<number>=<hash>) (default = empty map)
    22    "31000000" = "0x2087b9e2b353209c2c21e370c82daa12278efd0fe5f0febe6c29035352cf050e"
    23    "32000000" = "0x875500011e5eecc0c554f95d07b31cf59df4ca2505f4dbbfffa7d4e4da917c68"
    24  
    25  [log]
    26    vmodule = ""       # Per-module verbosity: comma-separated list of <pattern>=<level> (e.g. eth/*=5,p2p=4)
    27    json = false       # Format logs with JSON
    28    backtrace = ""     # Request a stack trace at a specific logging statement (e.g. "block.go:271")
    29    debug = true       # Prepends log messages with call-site location (file and line number)  -  {requires some effort}
    30  
    31  [p2p]
    32    maxpeers = 50           # Maximum number of network peers (network disabled if set to 0)
    33    maxpendpeers = 50       # Maximum number of pending connection attempts
    34    bind = "0.0.0.0"        # Network binding address
    35    port = 30303            # Network listening port
    36    nodiscover = false      # Disables the peer discovery mechanism (manual peer addition)
    37    nat = "any"             # NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>)
    38    netrestrict = ""        # Restricts network communication to the given IP networks (CIDR masks)
    39    nodekey = ""            # P2P node key file
    40    nodekeyhex = ""         # P2P node key as hex
    41    txarrivalwait = "500ms" # Maximum duration to wait before requesting an announced transaction
    42    [p2p.discovery]
    43      v5disc = false      # Enables the experimental RLPx V5 (Topic Discovery) mechanism
    44      bootnodes = []      # Comma separated enode URLs for P2P discovery bootstrap
    45      bootnodesv4 = []    # List of initial v4 bootnodes
    46      bootnodesv5 = []    # List of initial v5 bootnodes
    47      static-nodes = []   # List of static nodes
    48      trusted-nodes = []  # List of trusted nodes
    49      dns = []            # List of enrtree:// URLs which will be queried for nodes to connect to
    50  
    51  [heimdall]
    52    url = "http://localhost:1317"  # URL of Heimdall service
    53    "bor.without" = false          # Run without Heimdall service (for testing purpose)
    54    grpc-address = ""              # Address of Heimdall gRPC service
    55  
    56  [txpool]
    57    locals = []                   # Comma separated accounts to treat as locals (no flush, priority inclusion)
    58    nolocals = false              # Disables price exemptions for locally submitted transactions
    59    journal = "transactions.rlp"  # Disk journal for local transaction to survive node restarts
    60    rejournal = "1h0m0s"          # Time interval to regenerate the local transaction journal
    61    pricelimit = 1                # Minimum gas price limit to enforce for acceptance into the pool (mainnet = 30000000000)
    62    pricebump = 10                # Price bump percentage to replace an already existing transaction
    63    accountslots = 16             # Minimum number of executable transaction slots guaranteed per account
    64    globalslots = 32768           # Maximum number of executable transaction slots for all accounts
    65    accountqueue = 16             # Maximum number of non-executable transaction slots permitted per account
    66    globalqueue = 32768           # Maximum number of non-executable transaction slots for all accounts
    67    lifetime = "3h0m0s"           # Maximum amount of time non-executable transaction are queued
    68  
    69  [miner]
    70    mine = false             # Enable mining
    71    etherbase = ""           # Public address for block mining rewards
    72    extradata = ""           # Block extra data set by the miner (default = client version)
    73    gaslimit = 30000000      # Target gas ceiling for mined blocks
    74    gasprice = "1000000000"  # Minimum gas price for mining a transaction (recommended for mainnet = 30000000000, default suitable for mumbai/devnet)
    75    recommit = "2m5s"        # The time interval for miner to re-create mining work
    76    commitinterrupt = true   # Interrupt the current mining work when time is exceeded and create partial blocks
    77  
    78  [jsonrpc]
    79    ipcdisable = false                               # Disable the IPC-RPC server
    80    ipcpath = ""                                     # Filename for IPC socket/pipe within the datadir (explicit paths escape it)
    81    gascap = 50000000                                # Sets a cap on gas that can be used in eth_call/estimateGas (0=infinite)
    82    evmtimeout = "5s"                                # Sets a timeout used for eth_call (0=infinite)
    83    txfeecap = 5.0                                   # Sets a cap on transaction fee (in ether) that can be sent via the RPC APIs (0 = no cap)
    84    allow-unprotected-txs = false                    # Allow for unprotected (non EIP155 signed) transactions to be submitted via RPC (default: false)
    85    [jsonrpc.http]
    86      enabled = false                                # Enable the HTTP-RPC server
    87      port = 8545                                    # http.port
    88      prefix = ""                                    # http.rpcprefix
    89      host = "localhost"                             # HTTP-RPC server listening interface
    90      api = ["eth", "net", "web3", "txpool", "bor"]  # API's offered over the HTTP-RPC interface
    91      vhosts = ["localhost"]                         # Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.
    92      corsdomain = ["localhost"]                     # Comma separated list of domains from which to accept cross origin requests (browser enforced)
    93      ep-size = 40                                   # Maximum size of workers to run in rpc execution pool for HTTP requests (default: 40)
    94      ep-requesttimeout = "0s"                       # Request Timeout for rpc execution pool for HTTP requests (default: 0s, 0s = disabled)
    95    [jsonrpc.ws]
    96      enabled = false          # Enable the WS-RPC server
    97      port = 8546              # WS-RPC server listening port
    98      prefix = ""              # HTTP path prefix on which JSON-RPC is served. Use '/' to serve on all paths.
    99      host = "localhost"       # ws.addr
   100      api = ["net", "web3"]    # API's offered over the WS-RPC interface
   101      origins = ["localhost"]  # Origins from which to accept websockets requests
   102      ep-size = 40             # Maximum size of workers to run in rpc execution pool for WS requests (default: 40)
   103      ep-requesttimeout = "0s" # Request Timeout for rpc execution pool for WS requests (default: 0s, 0s = disabled)
   104    [jsonrpc.graphql]
   105      enabled = false             # Enable GraphQL on the HTTP-RPC server. Note that GraphQL can only be started if an HTTP server is started as well.
   106      port = 0                    #
   107      prefix = ""                 #
   108      host = ""                   #
   109      vhosts = ["localhost"]      # Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.
   110      corsdomain = ["localhost"]  # Comma separated list of domains from which to accept cross origin requests (browser enforced)
   111    [jsonrpc.auth]
   112      jwtsecret = ""              # Path to a JWT secret to use for authenticated RPC endpoints
   113      addr = "localhost"          # Listening address for authenticated APIs
   114      port = 8551                 # Listening port for authenticated APIs
   115      vhosts = ["localhost"]      # Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.
   116    [jsonrpc.timeouts]
   117      read = "10s"
   118      write = "30s"
   119      idle = "2m0s"
   120  
   121  [gpo]
   122    blocks = 20                 # Number of recent blocks to check for gas prices
   123    percentile = 60             # Suggested gas price is the given percentile of a set of recent transaction gas prices
   124    maxheaderhistory = 1024     # Maximum header history of gasprice oracle
   125    maxblockhistory = 1024      # Maximum block history of gasprice oracle
   126    maxprice = "5000000000000"  # Maximum gas price will be recommended by gpo
   127    ignoreprice = "2"           # Gas price below which gpo will ignore transactions (recommended for mainnet = 30000000000, default suitable for mumbai/devnet)
   128  
   129  [telemetry]
   130    metrics = false                            # Enable metrics collection and reporting
   131    expensive = false                          # Enable expensive metrics collection and reporting
   132    prometheus-addr = "127.0.0.1:7071"         # Address for Prometheus Server
   133    opencollector-endpoint = ""                # OpenCollector Endpoint (host:port)
   134    [telemetry.influx]
   135      influxdb = false    # Enable metrics export/push to an external InfluxDB database (v1)
   136      endpoint = ""       # InfluxDB API endpoint to report metrics to
   137      database = ""       # InfluxDB database name to push reported metrics to
   138      username = ""       # Username to authorize access to the database
   139      password = ""       # Password to authorize access to the database
   140      influxdbv2 = false  # Enable metrics export/push to an external InfluxDB v2 database
   141      token = ""          # Token to authorize access to the database (v2 only)
   142      bucket = ""         # InfluxDB bucket name to push reported metrics to (v2 only)
   143      organization = ""   # InfluxDB organization name (v2 only)
   144      [telemetry.influx.tags]  # Comma-separated InfluxDB tags (key/values) attached to all measurements
   145        cloud = "aws"
   146        host = "annon-host"
   147        ip = "99.911.221.66"
   148        region = "us-north-1"
   149  
   150  [cache]
   151    cache = 1024             # Megabytes of memory allocated to internal caching (recommended for mainnet = 4096, default suitable for mumbai/devnet)
   152    gc = 25                  # Percentage of cache memory allowance to use for trie pruning (default = 25% full mode, 0% archive mode)
   153    snapshot = 10            # Percentage of cache memory allowance to use for snapshot caching (default = 10% full mode, 20% archive mode)
   154    database = 50            # Percentage of cache memory allowance to use for database io
   155    trie = 15                # Percentage of cache memory allowance to use for trie caching (default = 15% full mode, 30% archive mode)
   156    journal = "triecache"    # Disk journal directory for trie cache to survive node restarts
   157    rejournal = "1h0m0s"     # Time interval to regenerate the trie cache journal
   158    noprefetch = false       # Disable heuristic state prefetch during block import (less CPU and disk IO, more time waiting for data)
   159    preimages = false        # Enable recording the SHA3/keccak preimages of trie keys
   160    txlookuplimit = 2350000  # Number of recent blocks to maintain transactions index for (default = about 56 days, 0 = entire chain)
   161    triesinmemory = 128      # Number of block states (tries) to keep in memory
   162    timeout = "1h0m0s"       # Time after which the Merkle Patricia Trie is stored to disc from memory
   163    fdlimit = 0              # Raise the open file descriptor resource limit (default = system fd limit)
   164  
   165  [accounts]
   166    unlock = []                    # Comma separated list of accounts to unlock
   167    password = ""                  # Password file to use for non-interactive password input
   168    allow-insecure-unlock = false  # Allow insecure account unlocking when account-related RPCs are exposed by http
   169    lightkdf = false               # Reduce key-derivation RAM & CPU usage at some expense of KDF strength
   170    disable-bor-wallet = true      # Disable the personal wallet endpoints
   171  
   172  [grpc]
   173    addr = ":3131" # Address and port to bind the GRPC server
   174  
   175  [developer]
   176    dev = false          # Enable developer mode with ephemeral proof-of-authority network and a pre-funded developer account, mining enabled
   177    period = 0           # Block period to use in developer mode (0 = mine only if transaction pending)
   178    gaslimit = 11500000  # Initial block gas limit
   179  
   180  [pprof]
   181    pprof = false            # Enable the pprof HTTP server
   182    port = 6060              # pprof HTTP server listening port
   183    addr = "127.0.0.1"       # pprof HTTP server listening interface
   184    memprofilerate = 524288  # Turn on memory profiling with the given rate
   185    blockprofilerate = 0     # Turn on block profiling with the given rate