github.com/palisadeinc/bor@v0.0.0-20230615125219-ab7196213d15/docs/cli/server.md (about) 1 # Server 2 3 The ```bor server``` command runs the Bor client. 4 5 ## Options 6 7 - ```chain```: Name of the chain to sync ('mumbai', 'mainnet') or path to a genesis file (default: mainnet) 8 9 - ```identity```: Name/Identity of the node 10 11 - ```verbosity```: Logging verbosity for the server (5=trace|4=debug|3=info|2=warn|1=error|0=crit), default = 3 (default: 3) 12 13 - ```log-level```: Log level for the server (trace|debug|info|warn|error|crit), will be deprecated soon. Use verbosity instead 14 15 - ```datadir```: Path of the data directory to store information 16 17 - ```vmdebug```: Record information useful for VM and contract debugging (default: false) 18 19 - ```datadir.ancient```: Data directory for ancient chain segments (default = inside chaindata) 20 21 - ```keystore```: Path of the directory where keystores are located 22 23 - ```rpc.batchlimit```: Maximum number of messages in a batch (default=100, use 0 for no limits) (default: 100) 24 25 - ```rpc.returndatalimit```: Maximum size (in bytes) a result of an rpc request could have (default=100000, use 0 for no limits) (default: 100000) 26 27 - ```config```: Path to the TOML configuration file 28 29 - ```syncmode```: Blockchain sync mode (only "full" sync supported) (default: full) 30 31 - ```gcmode```: Blockchain garbage collection mode ("full", "archive") (default: full) 32 33 - ```eth.requiredblocks```: Comma separated block number-to-hash mappings to require for peering (<number>=<hash>) 34 35 - ```snapshot```: Enables the snapshot-database mode (default: true) 36 37 - ```bor.logs```: Enables bor log retrieval (default: false) 38 39 - ```bor.heimdall```: URL of Heimdall service (default: http://localhost:1317) 40 41 - ```bor.withoutheimdall```: Run without Heimdall service (for testing purpose) (default: false) 42 43 - ```bor.devfakeauthor```: Run miner without validator set authorization [dev mode] : Use with '--bor.withoutheimdall' (default: false) 44 45 - ```bor.heimdallgRPC```: Address of Heimdall gRPC service 46 47 - ```bor.runheimdall```: Run Heimdall service as a child process (default: false) 48 49 - ```bor.runheimdallargs```: Arguments to pass to Heimdall service 50 51 - ```bor.useheimdallapp```: Use child heimdall process to fetch data, Only works when bor.runheimdall is true (default: false) 52 53 - ```ethstats```: Reporting URL of a ethstats service (nodename:secret@host:port) 54 55 - ```gpo.blocks```: Number of recent blocks to check for gas prices (default: 20) 56 57 - ```gpo.percentile```: Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 60) 58 59 - ```gpo.maxheaderhistory```: Maximum header history of gasprice oracle (default: 1024) 60 61 - ```gpo.maxblockhistory```: Maximum block history of gasprice oracle (default: 1024) 62 63 - ```gpo.maxprice```: Maximum gas price will be recommended by gpo (default: 5000000000000) 64 65 - ```gpo.ignoreprice```: Gas price below which gpo will ignore transactions (default: 2) 66 67 - ```disable-bor-wallet```: Disable the personal wallet endpoints (default: true) 68 69 - ```grpc.addr```: Address and port to bind the GRPC server (default: :3131) 70 71 - ```dev```: Enable developer mode with ephemeral proof-of-authority network and a pre-funded developer account, mining enabled (default: false) 72 73 - ```dev.period```: Block period to use in developer mode (0 = mine only if transaction pending) (default: 0) 74 75 - ```parallelevm.enable```: Enable Block STM (default: true) 76 77 - ```parallelevm.procs```: Number of speculative processes (cores) in Block STM (default: 8) 78 79 - ```dev.gaslimit```: Initial block gas limit (default: 11500000) 80 81 - ```pprof```: Enable the pprof HTTP server (default: false) 82 83 - ```pprof.port```: pprof HTTP server listening port (default: 6060) 84 85 - ```pprof.addr```: pprof HTTP server listening interface (default: 127.0.0.1) 86 87 - ```pprof.memprofilerate```: Turn on memory profiling with the given rate (default: 524288) 88 89 - ```pprof.blockprofilerate```: Turn on block profiling with the given rate (default: 0) 90 91 ### Account Management Options 92 93 - ```unlock```: Comma separated list of accounts to unlock 94 95 - ```password```: Password file to use for non-interactive password input 96 97 - ```allow-insecure-unlock```: Allow insecure account unlocking when account-related RPCs are exposed by http (default: false) 98 99 - ```lightkdf```: Reduce key-derivation RAM & CPU usage at some expense of KDF strength (default: false) 100 101 ### Cache Options 102 103 - ```cache```: Megabytes of memory allocated to internal caching (default: 1024) 104 105 - ```cache.database```: Percentage of cache memory allowance to use for database io (default: 50) 106 107 - ```cache.trie```: Percentage of cache memory allowance to use for trie caching (default: 15) 108 109 - ```cache.trie.journal```: Disk journal directory for trie cache to survive node restarts (default: triecache) 110 111 - ```cache.trie.rejournal```: Time interval to regenerate the trie cache journal (default: 1h0m0s) 112 113 - ```cache.gc```: Percentage of cache memory allowance to use for trie pruning (default: 25) 114 115 - ```cache.snapshot```: Percentage of cache memory allowance to use for snapshot caching (default: 10) 116 117 - ```cache.noprefetch```: Disable heuristic state prefetch during block import (less CPU and disk IO, more time waiting for data) (default: false) 118 119 - ```cache.preimages```: Enable recording the SHA3/keccak preimages of trie keys (default: false) 120 121 - ```cache.triesinmemory```: Number of block states (tries) to keep in memory (default = 128) (default: 128) 122 123 - ```txlookuplimit```: Number of recent blocks to maintain transactions index for (default: 2350000) 124 125 - ```fdlimit```: Raise the open file descriptor resource limit (default = system fd limit) (default: 0) 126 127 ### JsonRPC Options 128 129 - ```rpc.gascap```: Sets a cap on gas that can be used in eth_call/estimateGas (0=infinite) (default: 50000000) 130 131 - ```rpc.evmtimeout```: Sets a timeout used for eth_call (0=infinite) (default: 5s) 132 133 - ```rpc.txfeecap```: Sets a cap on transaction fee (in ether) that can be sent via the RPC APIs (0 = no cap) (default: 5) 134 135 - ```rpc.allow-unprotected-txs```: Allow for unprotected (non EIP155 signed) transactions to be submitted via RPC (default: false) 136 137 - ```ipcdisable```: Disable the IPC-RPC server (default: false) 138 139 - ```ipcpath```: Filename for IPC socket/pipe within the datadir (explicit paths escape it) 140 141 - ```authrpc.jwtsecret```: Path to a JWT secret to use for authenticated RPC endpoints 142 143 - ```authrpc.addr```: Listening address for authenticated APIs (default: localhost) 144 145 - ```authrpc.port```: Listening port for authenticated APIs (default: 8551) 146 147 - ```authrpc.vhosts```: Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: localhost) 148 149 - ```http.corsdomain```: Comma separated list of domains from which to accept cross origin requests (browser enforced) (default: localhost) 150 151 - ```http.vhosts```: Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: localhost) 152 153 - ```ws.origins```: Origins from which to accept websockets requests (default: localhost) 154 155 - ```graphql.corsdomain```: Comma separated list of domains from which to accept cross origin requests (browser enforced) (default: localhost) 156 157 - ```graphql.vhosts```: Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: localhost) 158 159 - ```http```: Enable the HTTP-RPC server (default: false) 160 161 - ```http.addr```: HTTP-RPC server listening interface (default: localhost) 162 163 - ```http.port```: HTTP-RPC server listening port (default: 8545) 164 165 - ```http.rpcprefix```: HTTP path path prefix on which JSON-RPC is served. Use '/' to serve on all paths. 166 167 - ```http.api```: API's offered over the HTTP-RPC interface (default: eth,net,web3,txpool,bor) 168 169 - ```http.ep-size```: Maximum size of workers to run in rpc execution pool for HTTP requests (default: 40) 170 171 - ```http.ep-requesttimeout```: Request Timeout for rpc execution pool for HTTP requests (default: 0s) 172 173 - ```ws```: Enable the WS-RPC server (default: false) 174 175 - ```ws.addr```: WS-RPC server listening interface (default: localhost) 176 177 - ```ws.port```: WS-RPC server listening port (default: 8546) 178 179 - ```ws.rpcprefix```: HTTP path prefix on which JSON-RPC is served. Use '/' to serve on all paths. 180 181 - ```ws.api```: API's offered over the WS-RPC interface (default: net,web3) 182 183 - ```ws.ep-size```: Maximum size of workers to run in rpc execution pool for WS requests (default: 40) 184 185 - ```ws.ep-requesttimeout```: Request Timeout for rpc execution pool for WS requests (default: 0s) 186 187 - ```graphql```: Enable GraphQL on the HTTP-RPC server. Note that GraphQL can only be started if an HTTP server is started as well. (default: false) 188 189 ### Logging Options 190 191 - ```vmodule```: Per-module verbosity: comma-separated list of <pattern>=<level> (e.g. eth/*=5,p2p=4) 192 193 - ```log.json```: Format logs with JSON (default: false) 194 195 - ```log.backtrace```: Request a stack trace at a specific logging statement (e.g. 'block.go:271') 196 197 - ```log.debug```: Prepends log messages with call-site location (file and line number) (default: false) 198 199 ### P2P Options 200 201 - ```bind```: Network binding address (default: 0.0.0.0) 202 203 - ```port```: Network listening port (default: 30303) 204 205 - ```bootnodes```: Comma separated enode URLs for P2P discovery bootstrap 206 207 - ```maxpeers```: Maximum number of network peers (network disabled if set to 0) (default: 50) 208 209 - ```maxpendpeers```: Maximum number of pending connection attempts (default: 50) 210 211 - ```nat```: NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>) (default: any) 212 213 - ```netrestrict```: Restricts network communication to the given IP networks (CIDR masks) 214 215 - ```nodekey```: P2P node key file 216 217 - ```nodekeyhex```: P2P node key as hex 218 219 - ```nodiscover```: Disables the peer discovery mechanism (manual peer addition) (default: false) 220 221 - ```v5disc```: Enables the experimental RLPx V5 (Topic Discovery) mechanism (default: false) 222 223 - ```txarrivalwait```: Maximum duration to wait for a transaction before explicitly requesting it (defaults to 500ms) (default: 500ms) 224 225 ### Sealer Options 226 227 - ```mine```: Enable mining (default: false) 228 229 - ```miner.etherbase```: Public address for block mining rewards 230 231 - ```miner.extradata```: Block extra data set by the miner (default = client version) 232 233 - ```miner.gaslimit```: Target gas ceiling (gas limit) for mined blocks (default: 30000000) 234 235 - ```miner.gasprice```: Minimum gas price for mining a transaction (default: 1000000000) 236 237 - ```miner.recommit```: The time interval for miner to re-create mining work (default: 2m5s) 238 239 - ```miner.interruptcommit```: Interrupt block commit when block creation time is passed (default: true) 240 241 ### Telemetry Options 242 243 - ```metrics```: Enable metrics collection and reporting (default: false) 244 245 - ```metrics.expensive```: Enable expensive metrics collection and reporting (default: false) 246 247 - ```metrics.influxdb```: Enable metrics export/push to an external InfluxDB database (v1) (default: false) 248 249 - ```metrics.influxdb.endpoint```: InfluxDB API endpoint to report metrics to 250 251 - ```metrics.influxdb.database```: InfluxDB database name to push reported metrics to 252 253 - ```metrics.influxdb.username```: Username to authorize access to the database 254 255 - ```metrics.influxdb.password```: Password to authorize access to the database 256 257 - ```metrics.influxdb.tags```: Comma-separated InfluxDB tags (key/values) attached to all measurements 258 259 - ```metrics.prometheus-addr```: Address for Prometheus Server (default: 127.0.0.1:7071) 260 261 - ```metrics.opencollector-endpoint```: OpenCollector Endpoint (host:port) (default: 127.0.0.1:4317) 262 263 - ```metrics.influxdbv2```: Enable metrics export/push to an external InfluxDB v2 database (default: false) 264 265 - ```metrics.influxdb.token```: Token to authorize access to the database (v2 only) 266 267 - ```metrics.influxdb.bucket```: InfluxDB bucket name to push reported metrics to (v2 only) 268 269 - ```metrics.influxdb.organization```: InfluxDB organization name (v2 only) 270 271 ### Transaction Pool Options 272 273 - ```txpool.locals```: Comma separated accounts to treat as locals (no flush, priority inclusion) 274 275 - ```txpool.nolocals```: Disables price exemptions for locally submitted transactions (default: false) 276 277 - ```txpool.journal```: Disk journal for local transaction to survive node restarts (default: transactions.rlp) 278 279 - ```txpool.rejournal```: Time interval to regenerate the local transaction journal (default: 1h0m0s) 280 281 - ```txpool.pricelimit```: Minimum gas price limit to enforce for acceptance into the pool (default: 1) 282 283 - ```txpool.pricebump```: Price bump percentage to replace an already existing transaction (default: 10) 284 285 - ```txpool.accountslots```: Minimum number of executable transaction slots guaranteed per account (default: 16) 286 287 - ```txpool.globalslots```: Maximum number of executable transaction slots for all accounts (default: 32768) 288 289 - ```txpool.accountqueue```: Maximum number of non-executable transaction slots permitted per account (default: 16) 290 291 - ```txpool.globalqueue```: Maximum number of non-executable transaction slots for all accounts (default: 32768) 292 293 - ```txpool.lifetime```: Maximum amount of time non-executable transaction are queued (default: 3h0m0s)