* initial * linters * linters * remove timeout * update pool * change pool size function * check nil * check nil * fix tests * Use execution pool from server in all handlers * simplify things * test fix * add support for cli, config * add to cli and config * merge base branch * debug statements * fix bug * atomic pointer timeout * add apis * update workerpool * fix issues * change params * fix issues * fix ipc issue * remove execution pool from IPC * revert * fix tests * mutex * refactor flag and value names * ordering fix * refactor flag and value names * update default ep size to 40 * fix bor start issues * revert file changes * debug statements * fix bug * update workerpool * atomic pointer timeout * add apis * Merge branch 'add-execution-pool' of github.com:maticnetwork/bor into arpit/add-execution-pool * fix issues * change params * fix issues * fix ipc issue * remove execution pool from IPC * revert * merge base branch * Merge branch 'add-execution-pool' of github.com:maticnetwork/bor into arpit/add-execution-pool * mutex * fix tests * Merge branch 'arpit/add-execution-pool' of github.com:maticnetwork/bor into arpit/add-execution-pool * Change default size of execution pool to 40 * refactor flag and value names * fix merge conflicts * ordering fix * refactor flag and value names * update default ep size to 40 * fix bor start issues * revert file changes * fix linters * fix go.mod * change sec to ms * change default value for ep timeout * fix node api calls * comment setter for ep timeout --------- Co-authored-by: Evgeny Danienko <6655321@bk.ru> Co-authored-by: Jerry <jerrycgh@gmail.com> Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
9.7 KiB
Server
The bor server command runs the Bor client.
Options
-
chain: Name of the chain to sync ('mumbai', 'mainnet') or path to a genesis file (default: mainnet) -
identity: Name/Identity of the node -
log-level: Set log level for the server (default: INFO) -
datadir: Path of the data directory to store information -
datadir.ancient: Data directory for ancient chain segments (default = inside chaindata) -
keystore: Path of the directory where keystores are located -
rpc.batchlimit: Maximum number of messages in a batch (default=100, use 0 for no limits) (default: 100) -
rpc.returndatalimit: Maximum size (in bytes) a result of an rpc request could have (default=100000, use 0 for no limits) (default: 100000) -
config: File for the config file -
syncmode: Blockchain sync mode (only "full" sync supported) (default: full) -
gcmode: Blockchain garbage collection mode ("full", "archive") (default: full) -
eth.requiredblocks: Comma separated block number-to-hash mappings to require for peering (=) -
snapshot: Enables the snapshot-database mode (default: true) -
bor.logs: Enables bor log retrieval (default: false) -
bor.heimdall: URL of Heimdall service (default: http://localhost:1317) -
bor.withoutheimdall: Run without Heimdall service (for testing purpose) (default: false) -
bor.heimdallgRPC: Address of Heimdall gRPC service -
ethstats: Reporting URL of a ethstats service (nodename:secret@host:port) -
gpo.blocks: Number of recent blocks to check for gas prices (default: 20) -
gpo.percentile: Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 60) -
gpo.maxprice: Maximum gas price will be recommended by gpo (default: 5000000000000) -
gpo.ignoreprice: Gas price below which gpo will ignore transactions (default: 2) -
disable-bor-wallet: Disable the personal wallet endpoints (default: true) -
grpc.addr: Address and port to bind the GRPC server (default: :3131) -
dev: Enable developer mode with ephemeral proof-of-authority network and a pre-funded developer account, mining enabled (default: false) -
dev.period: Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)
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 (default: false) -
lightkdf: Reduce key-derivation RAM & CPU usage at some expense of KDF strength (default: false)
Cache Options
-
cache: Megabytes of memory allocated to internal caching (default: 1024) -
cache.database: Percentage of cache memory allowance to use for database io (default: 50) -
cache.trie: Percentage of cache memory allowance to use for trie caching (default: 15) -
cache.trie.journal: Disk journal directory for trie cache to survive node restarts (default: triecache) -
cache.trie.rejournal: Time interval to regenerate the trie cache journal (default: 1h0m0s) -
cache.gc: Percentage of cache memory allowance to use for trie pruning (default: 25) -
cache.snapshot: Percentage of cache memory allowance to use for snapshot caching (default: 10) -
cache.noprefetch: Disable heuristic state prefetch during block import (less CPU and disk IO, more time waiting for data) (default: false) -
cache.preimages: Enable recording the SHA3/keccak preimages of trie keys (default: false) -
cache.triesinmemory: Number of block states (tries) to keep in memory (default = 128) (default: 128) -
txlookuplimit: Number of recent blocks to maintain transactions index for (default: 2350000)
JsonRPC Options
-
rpc.gascap: Sets a cap on gas that can be used in eth_call/estimateGas (0=infinite) (default: 50000000) -
rpc.txfeecap: Sets a cap on transaction fee (in ether) that can be sent via the RPC APIs (0 = no cap) (default: 5) -
ipcdisable: Disable the IPC-RPC server (default: false) -
ipcpath: Filename for IPC socket/pipe within the datadir (explicit paths escape it) -
http.corsdomain: Comma separated list of domains from which to accept cross origin requests (browser enforced) (default: localhost) -
http.vhosts: Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: localhost) -
ws.origins: Origins from which to accept websockets requests (default: localhost) -
graphql.corsdomain: Comma separated list of domains from which to accept cross origin requests (browser enforced) (default: localhost) -
graphql.vhosts: Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: localhost) -
http: Enable the HTTP-RPC server (default: false) -
http.addr: HTTP-RPC server listening interface (default: localhost) -
http.port: HTTP-RPC server listening port (default: 8545) -
http.rpcprefix: HTTP path path prefix on which JSON-RPC is served. Use '/' to serve on all paths. -
http.api: API's offered over the HTTP-RPC interface (default: eth,net,web3,txpool,bor) -
http.ep-size: Maximum size of workers to run in rpc execution pool for HTTP requests (default: 40) -
http.ep-requesttimeout: Request Timeout for rpc execution pool for HTTP requests (default: 0s) -
ws: Enable the WS-RPC server (default: false) -
ws.addr: WS-RPC server listening interface (default: localhost) -
ws.port: WS-RPC server listening port (default: 8546) -
ws.rpcprefix: HTTP path prefix on which JSON-RPC is served. Use '/' to serve on all paths. -
ws.api: API's offered over the WS-RPC interface (default: net,web3) -
ws.ep-size: Maximum size of workers to run in rpc execution pool for WS requests (default: 40) -
ws.ep-requesttimeout: Request Timeout for rpc execution pool for WS requests (default: 0s) -
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)
P2P Options
-
bind: Network binding address (default: 0.0.0.0) -
port: Network listening port (default: 30303) -
bootnodes: Comma separated enode URLs for P2P discovery bootstrap -
maxpeers: Maximum number of network peers (network disabled if set to 0) (default: 50) -
maxpendpeers: Maximum number of pending connection attempts (default: 50) -
nat: NAT port mapping mechanism (any|none|upnp|pmp|extip:) (default: any) -
nodiscover: Disables the peer discovery mechanism (manual peer addition) (default: false) -
v5disc: Enables the experimental RLPx V5 (Topic Discovery) mechanism (default: false)
Sealer Options
-
mine: Enable mining (default: false) -
miner.etherbase: Public address for block mining rewards -
miner.extradata: Block extra data set by the miner (default = client version) -
miner.gaslimit: Target gas ceiling (gas limit) for mined blocks (default: 30000000) -
miner.gasprice: Minimum gas price for mining a transaction (default: 1000000000)
Telemetry Options
-
metrics: Enable metrics collection and reporting (default: false) -
metrics.expensive: Enable expensive metrics collection and reporting (default: false) -
metrics.influxdb: Enable metrics export/push to an external InfluxDB database (v1) (default: false) -
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.prometheus-addr: Address for Prometheus Server (default: 127.0.0.1:7071) -
metrics.opencollector-endpoint: OpenCollector Endpoint (host:port) (default: 127.0.0.1:4317) -
metrics.influxdbv2: Enable metrics export/push to an external InfluxDB v2 database (default: false) -
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)
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 (default: false) -
txpool.journal: Disk journal for local transaction to survive node restarts (default: transactions.rlp) -
txpool.rejournal: Time interval to regenerate the local transaction journal (default: 1h0m0s) -
txpool.pricelimit: Minimum gas price limit to enforce for acceptance into the pool (default: 1) -
txpool.pricebump: Price bump percentage to replace an already existing transaction (default: 10) -
txpool.accountslots: Minimum number of executable transaction slots guaranteed per account (default: 16) -
txpool.globalslots: Maximum number of executable transaction slots for all accounts (default: 32768) -
txpool.accountqueue: Maximum number of non-executable transaction slots permitted per account (default: 16) -
txpool.globalqueue: Maximum number of non-executable transaction slots for all accounts (default: 32768) -
txpool.lifetime: Maximum amount of time non-executable transaction are queued (default: 3h0m0s)