go-ethereum/docs/cli/server.md
SHIVAM SHARMA 9aeaf03f05
Merge branch 'qa' and 'master' into develop (#663)
* Adding in Mumbai/Mainnet precursor deb packaging for tests to use during upgrade(iterations to come)

* Added changes per discussion in PR, more changes may be necessary

* Adding prerelease true

* Disabling goreleaser

* Removing README swap file

* change bor_dir and add bor user for v0.3.0 release

* rollback bor user and use root

* metrics: handle equal to separated config flag (#596)

* metrics: handle  based config path

* internal/cli/server: add more context to logs

* use space separated flag and value in bor.service

* fixed static-nodes related buf (os independent) (#598)

* fixed static-nodes related buf (os independent)

* taking static-nodes as input if default not present

* Update default flags (#600)

* internal/cli/server: use geth's default for txpool.pricelimit and add comments

* builder/files: update config.toml for mainnet

* packaging/templates: update defaults for mainnet and mumbai

* internal/cli/server: skip overriding cache

* packaging/templates: update cache value for mainnet

* packaging/templates: update gcmode for archive mumbai node

* metrics: handle nil telemetry config (#601)

* resolve merge conflicts

* update go version in release.yml

* update goversion in makefile

* update Docker login for goreleaser-cross v1.19

* Cleanup for the packager to use git tag in the package profile naming. Added conditional check for directory structure, this is in prep for v0.3.1, as this will create a failure on upgrade path in package due to file exist

* added a toml configuration file with comments describing each flag (#607)

* added a toml configuration file with comments describing each flag

* internal/cli/server: update flag description

* docs/cli: update example config and description of flags

* docs: update new-cli docs

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>

* Adding of 0.3.0 package changes, control file updates, postinst changes, and packager update

* added ancient datadir flag and toml field, need to decide on default value and update the conversion script

* updated toml files with ancient field

* Add support for new flags in new config.toml, which were present in old config.toml (#612)

* added HTTPTimeouts, and TrieTimeout flag in new tol, from old toml

* added RAW fields for these time.Duration flags

* updated the conversion script to support these extra 4 flags

* removed hcl and json config tests as we are only supporting toml config files

* updated toml files with cache.timeout field

* updated toml files with jsonrpc.timeouts field

* tests/bor: expect a call for latest checkpoint

* tests/bor: expect a call for latest checkpoint

* packaging/templates: update cache values for archive nodes

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>

* remove unwanted code

* Fix docker publish authentication issue

In gorelease-cross 1.19+, dockerhub authentication will require docker
logion action followed by mounting docker config file. See
https://github.com/goreleaser/goreleaser-cross#github-actions.

* Revert "update Docker login for goreleaser-cross v1.19"

This reverts commit 4d19cf5342.

* Bump version to stable

* Revert "Merge pull request #435 from maticnetwork/POS-553"

This reverts commit 657d262def, reversing
changes made to 88dbfa1c13.

* revert change for release for go1.19

* Add default values to CLI helper and docs

This commit adds default values to CLI helper and docs. When the default value of a string flag, slice string flag, or map string flag is empty, its helper message won't show any default value.

* Add a summary of new CLI in docs

* Updating packager as binutils changed version so that apt-get installs current versions

* Add state pruning to new CLI

* Minor wording fix in prune state description

* Bumping control file versions

* Mainnet Delhi fork

* Set version to stable

* change delhi hardfork block number

* handle future chain import and skip peer drop (#650)

* handle future chain import and skip peer drop

* add block import metric

* params: bump version to v0.3.3-stable

* Bump bor version in control files for v0.3.3 mainnet release

Co-authored-by: Daniel Jones <djones@polygon.technology>
Co-authored-by: Will Button <wbutton@polygon.technology>
Co-authored-by: Will Button <will@willbutton.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Daniel Jones <105369507+djpolygon@users.noreply.github.com>
Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
Co-authored-by: Arpit Temani <temaniarpit27@gmail.com>
Co-authored-by: Jerry <jerrycgh@gmail.com>
2023-01-13 14:47:14 +05:30

9.1 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

  • 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)

  • 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)

  • 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)