go-ethereum/docs/cli/server.md

7.1 KiB

Server

The bor server command runs the Bor client.

General Options

  • chain: Name of the chain to sync (mainnet or mumbai).

  • log-level: Set log level for the server (info, warn, debug, trace).

  • datadir: Path of the data directory to store information (defaults to $HOME).

  • config: List of files that contain the configuration.

  • syncmode: Blockchain sync mode ("fast", "full", "snap" or "light").

  • gcmode: Blockchain garbage collection mode ("full", "archive").

  • whitelist: Comma separated block number-to-hash mappings to enforce (=).

  • snapshot: Enables snapshot-database mode (default = enable).

  • bor.heimdall: URL of Heimdall service.

  • bor.withoutheimdall: Run without Heimdall service (for testing purpose).

  • ethstats: Reporting URL of a ethstats service (nodename:secret@host:port).

  • gpo.blocks: Number of recent blocks to check for gas prices.

  • gpo.percentile: Suggested gas price is the given percentile of a set of recent transaction gas prices.

  • gpo.maxprice: Maximum gas price will be recommended by gpo.

  • gpo.ignoreprice: Gas price below which gpo will ignore transactions.

  • grpc.addr: Address and port to bind the GRPC server.

Transaction Pool Options

  • txpool.locals: Comma separated accounts to treat as locals (no flush, priority inclusion).

  • txpool.nolocals: Disables price exemptions for locally submitted transactions

  • txpool.journal: Disk journal for local transaction to survive node restarts

  • txpool.rejournal: Time interval to regenerate the local transaction journal

  • txpool.pricelimit: Minimum gas price limit to enforce for acceptance into the pool

  • txpool.pricebump: Price bump percentage to replace an already existing transaction

  • txpool.accountslots: Minimum number of executable transaction slots guaranteed per account

  • txpool.globalslots: Maximum number of executable transaction slots for all accounts

  • txpool.accountqueue: Maximum number of non-executable transaction slots permitted per account

  • txpool.globalqueue: Maximum number of non-executable transaction slots for all accounts

  • txpool.lifetime: Maximum amount of time non-executable transaction are queued

Sealer Options

  • mine: Enable sealing.

  • miner.etherbase: Public address for block mining rewards (default = first account)

  • miner.extradata: Block extra data set by the miner (default = client version).

  • miner.gaslimit: Target gas ceiling for mined blocks.

  • miner.gasprice: Minimum gas price for mining a transaction.

Cache Options

  • cache: Megabytes of memory allocated to internal caching (default = 4096 mainnet full node).

  • cache.database: Percentage of cache memory allowance to use for database io.

  • cache.trie: Percentage of cache memory allowance to use for trie caching (default = 15% full mode, 30% archive mode).

  • cache.trie.journal: Disk journal directory for trie cache to survive node restarts.

  • cache.trie.rejournal: Time interval to regenerate the trie cache journal.

  • cache.gc: Percentage of cache memory allowance to use for trie pruning (default = 25% full mode, 0% archive mode).

  • cache.snapshot: Percentage of cache memory allowance to use for snapshot caching (default = 10% full mode, 20% archive mode).

  • cache.noprefetch: Disable heuristic state prefetch during block import (less CPU and disk IO, more time waiting for data).

  • cache.preimages: Enable recording the SHA3/keccak preimages of trie keys.

  • txlookuplimit: Number of recent blocks to maintain transactions index for (default = about 56 days, 0 = entire chain).

JsonRPC Options

  • rpc.gascap: Sets a cap on gas that can be used in eth_call/estimateGas (0=infinite).

  • rpc.txfeecap: Sets a cap on transaction fee (in ether) that can be sent via the RPC APIs (0 = no cap).

  • ipcdisable: Disable the IPC-RPC server.

  • ipcpath: Filename for IPC socket/pipe within the datadir (explicit paths escape it).

  • jsonrpc.corsdomain: Comma separated list of domains from which to accept cross.

  • jsonrpc.vhosts: Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.

  • http: Enable the HTTP-RPC server.

  • http.addr: HTTP-RPC server listening interface.

  • http.port: HTTP-RPC server listening port.

  • http.rpcprefix: HTTP path path prefix on which JSON-RPC is served. Use '/' to serve on all paths.

  • http.modules: API's offered over the HTTP-RPC interface.

  • ws: Enable the WS-RPC server.

  • ws.addr: WS-RPC server listening interface.

  • ws.port: WS-RPC server listening port.

  • ws.rpcprefix: HTTP path prefix on which JSON-RPC is served. Use '/' to serve on all paths.

  • ws.modules: API's offered over the WS-RPC interface.

  • graphql: Enable GraphQL on the HTTP-RPC server. Note that GraphQL can only be started if an HTTP server is started as well.

P2P Options

  • bind: Network binding address

  • port: Network listening port

  • bootnodes: Comma separated enode URLs for P2P discovery bootstrap

  • maxpeers: "Maximum number of network peers (network disabled if set to 0)

  • maxpendpeers: Maximum number of pending connection attempts (defaults used if set to 0)

  • nat: "NAT port mapping mechanism (any|none|upnp|pmp|extip:)

  • nodiscover: "Disables the peer discovery mechanism (manual peer addition)

  • v5disc: "Enables the experimental RLPx V5 (Topic Discovery) mechanism

Telemetry Options

  • metrics: Enable metrics collection and reporting.

  • metrics.expensive: Enable expensive metrics collection and reporting.

  • metrics.influxdb: Enable metrics export/push to an external InfluxDB database (v1).

  • metrics.influxdb.endpoint: InfluxDB API endpoint to report metrics to.

  • metrics.influxdb.database: InfluxDB database name to push reported metrics to.

  • metrics.influxdb.username: Username to authorize access to the database.

  • metrics.influxdb.password: Password to authorize access to the database.

  • metrics.influxdb.tags: Comma-separated InfluxDB tags (key/values) attached to all measurements.

  • metrics.influxdbv2: Enable metrics export/push to an external InfluxDB v2 database.

  • metrics.influxdb.token: Token to authorize access to the database (v2 only).

  • metrics.influxdb.bucket: InfluxDB bucket name to push reported metrics to (v2 only).

  • metrics.influxdb.organization: InfluxDB organization name (v2 only).

Account Management Options

  • unlock: "Comma separated list of accounts to unlock.

  • password: Password file to use for non-interactive password input.

  • allow-insecure-unlock: Allow insecure account unlocking when account-related RPCs are exposed by http.

  • lightkdf: Reduce key-derivation RAM & CPU usage at some expense of KDF strength.

Usage

Use multiple files to configure the client:

$ bor server --config ./legacy-config.toml --config ./config2.hcl