go-ethereum/docs/cli/server.md
Manav Darji ded7767ccd
Merge qa to develop (#814)
* 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

* Added checks to RPC requests and introduced new flags to customise the parameters (#657)

* added a check to reject rpc requests with batch size > the one set using a newly added flag (rpcbatchlimit)

* added a check to reject rpc requests whose result size > the one set using a newly added flag (rpcreturndatalimit)

* updated the config files and docs

* chg : trieTimeout from 60 to 10 mins (#692)

* chg : trieTimeout from 60 to 10 mins

* chg : cache.timout to 10m from 1h in configs

* internal/cli/server : fix : added triesInMemory in config (#691)

* changed version from 0.3.0 to 0.3.4-beta (#693)

* fix nil state-sync issue, increase grpc limit (#695)

* Increase grpc message size limit in pprof

* consensus/bor/bor.go : stateSyncs init fixed [Fix #686]

* eth/filters: handle nil state-sync before notify

* eth/filters: update check

Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Daniil <daniil.melnik@chainstack.com>

* core, tests/bor: add more tests for state-sync validation (#710)

* core: add get state sync function for tests

* tests/bor: add validation for state sync events post consensus

* Arpit/temp bor sync (#701)

* Increase grpc message size limit in pprof

* ReadBorReceipts improvements

* use internal function

* fix tests

* fetch geth upstread for ReadBorReceiptRLP

* Only query bor receipt when the query index is equal to # tx in block body

This change reduces the frequency of calling ReadBorReceipt and
ReadBorTransaction, which are CPU and db intensive.

* Revert "fetch geth upstread for ReadBorReceiptRLP"

This reverts commit 2e838a6b1313d26674f3a8df4b044e35dcbf35a0.

* Restore ReadBorReceiptRLP

* fix bor receipts

* remove unused

* fix lints

---------

Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>

* Revert "chg : trieTimeout from 60 to 10 mins (#692)" (#720)

This reverts commit 241843c7e7.

* Arpit/add execution pool 2 (#719)

* 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>

* version change (#721)

* Event based pprof (#732)

* feature

* Save pprof to /tmp

---------

Co-authored-by: Jerry <jerrycgh@gmail.com>

* Cherry-pick changes from develop (#738)

* Check if block is nil to prevent panic (#736)

* miner: use env for tracing instead of block object (#728)

---------

Co-authored-by: Dmitry <46797839+dkeysil@users.noreply.github.com>

* add max code init size check in txpool (#739)

* Revert "Event based pprof" and update version (#742)

* Revert "Event based pprof (#732)"

This reverts commit 22fa4033e8.

* params: update version to 0.3.4-beta3

* packaging/templates: update bor version

* internal/ethapi :: Fix : newRPCTransactionFromBlockIndex

* Merge master to qa (#813)

* Merge qa to master (#750)

* Added checks to RPC requests and introduced new flags to customise the parameters (#657)

* added a check to reject rpc requests with batch size > the one set using a newly added flag (rpcbatchlimit)

* added a check to reject rpc requests whose result size > the one set using a newly added flag (rpcreturndatalimit)

* updated the config files and docs

* chg : trieTimeout from 60 to 10 mins (#692)

* chg : trieTimeout from 60 to 10 mins

* chg : cache.timout to 10m from 1h in configs

* internal/cli/server : fix : added triesInMemory in config (#691)

* changed version from 0.3.0 to 0.3.4-beta (#693)

* fix nil state-sync issue, increase grpc limit (#695)

* Increase grpc message size limit in pprof

* consensus/bor/bor.go : stateSyncs init fixed [Fix #686]

* eth/filters: handle nil state-sync before notify

* eth/filters: update check

Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Daniil <daniil.melnik@chainstack.com>

* core, tests/bor: add more tests for state-sync validation (#710)

* core: add get state sync function for tests

* tests/bor: add validation for state sync events post consensus

* Arpit/temp bor sync (#701)

* Increase grpc message size limit in pprof

* ReadBorReceipts improvements

* use internal function

* fix tests

* fetch geth upstread for ReadBorReceiptRLP

* Only query bor receipt when the query index is equal to # tx in block body

This change reduces the frequency of calling ReadBorReceipt and
ReadBorTransaction, which are CPU and db intensive.

* Revert "fetch geth upstread for ReadBorReceiptRLP"

This reverts commit 2e838a6b1313d26674f3a8df4b044e35dcbf35a0.

* Restore ReadBorReceiptRLP

* fix bor receipts

* remove unused

* fix lints

---------

Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>

* Revert "chg : trieTimeout from 60 to 10 mins (#692)" (#720)

This reverts commit 241843c7e7.

* Arpit/add execution pool 2 (#719)

* 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>

* version change (#721)

* Event based pprof (#732)

* feature

* Save pprof to /tmp

---------

Co-authored-by: Jerry <jerrycgh@gmail.com>

* Cherry-pick changes from develop (#738)

* Check if block is nil to prevent panic (#736)

* miner: use env for tracing instead of block object (#728)

---------

Co-authored-by: Dmitry <46797839+dkeysil@users.noreply.github.com>

* add max code init size check in txpool (#739)

* Revert "Event based pprof" and update version (#742)

* Revert "Event based pprof (#732)"

This reverts commit 22fa4033e8.

* params: update version to 0.3.4-beta3

* packaging/templates: update bor version

* params, packaging/templates: update bor version

---------

Co-authored-by: SHIVAM SHARMA <shivam691999@gmail.com>
Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Daniil <daniil.melnik@chainstack.com>
Co-authored-by: Arpit Temani <temaniarpit27@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
Co-authored-by: Dmitry <46797839+dkeysil@users.noreply.github.com>

* core, miner: add sub-spans for tracing (#753)

* core, miner: add sub-spans for tracing

* fix linters

* core: add logs for debugging

* core: add more logs to print tdd while reorg

* fix linters

* core: minor fix

* core: remove debug logs

* core: use different span for write block and set head

* core: use internal context for sending traces (#755)

* core: add : impossible reorg block dump (#754)

* add : impossible reorg block dump

* chg : 3 seperate files for impossoble reorg dump

* add : use exportBlocks method and RLP blocks before writing

* chg : small changes

* bump : go version from 1.19 to 1.20.1 (#761)

* Revert "bump : go version from 1.19 to 1.20.1 (#761)"

This reverts commit 4561012af9.

* core/vm: use optimized bigint (#26021)

* Add holiman/big

* Fix linter

* Bump version to v0.3.5

* fix lints from develop (few lints decided to appear from code that was untouched, weird)

* upgrade crypto lib version (#770)

* bump dep : github.com/Masterminds/goutils to v1.1.1 (#769)

* mardizzone/pos-1313: bump crypto dependency (#772)

* dev: chg: bumd net dependency

* dev: chg: bump crypto dependency

* dev: chg: bump crypto dependency

* bump dep : golang.org/x/net to v0.8.0 (#771)

* Verify validator set against local contract on receiving an end-of-sprint block (#768)

* Verify validator set against local contract on receiving an end-of-sprint block

* Fix tests

* Respect error returned by ParseValidators

* Keep going back until a parent block presents

* core/txpool: implement DoS defenses from geth (#778)

* Hotfixes and deps bump (#776)

* dev: chg: bump deps

* internal/cli/server, rpc: lower down http readtimeout to 10s

* dev: chg: get p2p adapter

* dev: chg: lower down jsonrpc readtimeout to 10s

* cherry-pick txpool optimisation changes

* add check for empty lists in txpool (#704)

* add check

* linters

* core, miner: add empty instrumentation name for tracing

---------

Co-authored-by: Raneet Debnath <raneetdebnath10@gmail.com>
Co-authored-by: SHIVAM SHARMA <shivam691999@gmail.com>
Co-authored-by: Evgeny Danilenko <6655321@bk.ru>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>

* packaging,params: bump to v0.3.6 (#782)

* v0.3.6 fix (#787)

* Fix get validator set in header verifier

* chg : commit tx logs from info to debug (#673)

* chg : commit tx logs from info to debug

* fix : minor changes

* chg : miner : commitTransactions-stats moved from info to debug

* lint : fix linters

* refactor logging

* miner : chg : UnauthorizedSignerError to debug

* lint : fix lint

* fix : log.Logger interface compatibility

---------

Co-authored-by: Evgeny Danienko <6655321@bk.ru>

* Remove unnecessary sorting of valset from header in verification

* dev: chg: version bump

---------

Co-authored-by: SHIVAM SHARMA <shivam691999@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
Co-authored-by: marcello33 <marcelloardizzone@hotmail.it>

* core: improve locks in txpool (#807)

* added a write lock to the txs.filter method and a read lock to the txs.reheap method - both of which are called by Filter during reorg adjustments to txpool

* txpool reorg locks

* more locks

* locks

* linters

* params, packaging: update version for v0.3.8-beta release

* core: add logs in reheap

---------

Co-authored-by: Alex <dalexwatts@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>

* Merge qa to master (#808)

* Added checks to RPC requests and introduced new flags to customise the parameters (#657)

* added a check to reject rpc requests with batch size > the one set using a newly added flag (rpcbatchlimit)

* added a check to reject rpc requests whose result size > the one set using a newly added flag (rpcreturndatalimit)

* updated the config files and docs

* chg : trieTimeout from 60 to 10 mins (#692)

* chg : trieTimeout from 60 to 10 mins

* chg : cache.timout to 10m from 1h in configs

* internal/cli/server : fix : added triesInMemory in config (#691)

* changed version from 0.3.0 to 0.3.4-beta (#693)

* fix nil state-sync issue, increase grpc limit (#695)

* Increase grpc message size limit in pprof

* consensus/bor/bor.go : stateSyncs init fixed [Fix #686]

* eth/filters: handle nil state-sync before notify

* eth/filters: update check

Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Daniil <daniil.melnik@chainstack.com>

* core, tests/bor: add more tests for state-sync validation (#710)

* core: add get state sync function for tests

* tests/bor: add validation for state sync events post consensus

* Arpit/temp bor sync (#701)

* Increase grpc message size limit in pprof

* ReadBorReceipts improvements

* use internal function

* fix tests

* fetch geth upstread for ReadBorReceiptRLP

* Only query bor receipt when the query index is equal to # tx in block body

This change reduces the frequency of calling ReadBorReceipt and
ReadBorTransaction, which are CPU and db intensive.

* Revert "fetch geth upstread for ReadBorReceiptRLP"

This reverts commit 2e838a6b1313d26674f3a8df4b044e35dcbf35a0.

* Restore ReadBorReceiptRLP

* fix bor receipts

* remove unused

* fix lints

---------

Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>

* Revert "chg : trieTimeout from 60 to 10 mins (#692)" (#720)

This reverts commit 241843c7e7.

* Arpit/add execution pool 2 (#719)

* 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>

* version change (#721)

* Event based pprof (#732)

* feature

* Save pprof to /tmp

---------

Co-authored-by: Jerry <jerrycgh@gmail.com>

* Cherry-pick changes from develop (#738)

* Check if block is nil to prevent panic (#736)

* miner: use env for tracing instead of block object (#728)

---------

Co-authored-by: Dmitry <46797839+dkeysil@users.noreply.github.com>

* add max code init size check in txpool (#739)

* Revert "Event based pprof" and update version (#742)

* Revert "Event based pprof (#732)"

This reverts commit 22fa4033e8.

* params: update version to 0.3.4-beta3

* packaging/templates: update bor version

* internal/ethapi :: Fix : newRPCTransactionFromBlockIndex

* fix: remove assignment for bor receipt

---------

Co-authored-by: SHIVAM SHARMA <shivam691999@gmail.com>
Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Daniil <daniil.melnik@chainstack.com>
Co-authored-by: Arpit Temani <temaniarpit27@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
Co-authored-by: Dmitry <46797839+dkeysil@users.noreply.github.com>

* Setting up bor to use hosted 18.04 runner as ubuntu provided 18.04 runner is end of life

---------

Co-authored-by: SHIVAM SHARMA <shivam691999@gmail.com>
Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: Daniil <daniil.melnik@chainstack.com>
Co-authored-by: Arpit Temani <temaniarpit27@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
Co-authored-by: Dmitry <46797839+dkeysil@users.noreply.github.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: marcello33 <marcelloardizzone@hotmail.it>
Co-authored-by: Raneet Debnath <raneetdebnath10@gmail.com>
Co-authored-by: Raneet Debnath <35629432+Raneet10@users.noreply.github.com>
Co-authored-by: Alex <dalexwatts@gmail.com>
Co-authored-by: Daniel Jones <djones@polygon.technology>

* core: remove duplicate tests

* miner: use get validators by hash in tests

---------

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: 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>
Co-authored-by: SHIVAM SHARMA <shivam691999@gmail.com>
Co-authored-by: Daniil <daniil.melnik@chainstack.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
Co-authored-by: Dmitry <46797839+dkeysil@users.noreply.github.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: marcello33 <marcelloardizzone@hotmail.it>
Co-authored-by: Raneet Debnath <raneetdebnath10@gmail.com>
Co-authored-by: Raneet Debnath <35629432+Raneet10@users.noreply.github.com>
Co-authored-by: Alex <dalexwatts@gmail.com>
2023-04-10 16:21:18 +05:30

12 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

  • verbosity: Logging verbosity for the server (5=trace|4=debug|3=info|2=warn|1=error|0=crit), default = 3 (default: 3)

  • log-level: Log level for the server (trace|debug|info|warn|error|crit), will be deprecated soon. Use verbosity instead

  • datadir: Path of the data directory to store information

  • vmdebug: Record information useful for VM and contract debugging (default: false)

  • 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: Path to the TOML configuration 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.devfakeauthor: Run miner without validator set authorization [dev mode] : Use with '--bor.withoutheimdall' (default: false)

  • bor.heimdallgRPC: Address of Heimdall gRPC service

  • bor.runheimdall: Run Heimdall service as a child process (default: false)

  • bor.runheimdallargs: Arguments to pass to Heimdall service

  • bor.useheimdallapp: Use child heimdall process to fetch data, Only works when bor.runheimdall is true (default: false)

  • 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.maxheaderhistory: Maximum header history of gasprice oracle (default: 1024)

  • gpo.maxblockhistory: Maximum block history of gasprice oracle (default: 1024)

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

  • dev.gaslimit: Initial block gas limit (default: 11500000)

  • pprof: Enable the pprof HTTP server (default: false)

  • pprof.port: pprof HTTP server listening port (default: 6060)

  • pprof.addr: pprof HTTP server listening interface (default: 127.0.0.1)

  • pprof.memprofilerate: Turn on memory profiling with the given rate (default: 524288)

  • pprof.blockprofilerate: Turn on block profiling with the given rate (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)

  • fdlimit: Raise the open file descriptor resource limit (default = system fd limit) (default: 0)

JsonRPC Options

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

  • rpc.evmtimeout: Sets a timeout used for eth_call (0=infinite) (default: 5s)

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

  • rpc.allow-unprotected-txs: Allow for unprotected (non EIP155 signed) transactions to be submitted via RPC (default: false)

  • ipcdisable: Disable the IPC-RPC server (default: false)

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

  • authrpc.jwtsecret: Path to a JWT secret to use for authenticated RPC endpoints

  • authrpc.addr: Listening address for authenticated APIs (default: localhost)

  • authrpc.port: Listening port for authenticated APIs (default: 8551)

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

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

Logging Options

  • vmodule: Per-module verbosity: comma-separated list of = (e.g. eth/*=5,p2p=4)

  • log.json: Format logs with JSON (default: false)

  • log.backtrace: Request a stack trace at a specific logging statement (e.g. 'block.go:271')

  • log.debug: Prepends log messages with call-site location (file and line number) (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)

  • netrestrict: Restricts network communication to the given IP networks (CIDR masks)

  • nodekey: P2P node key file

  • nodekeyhex: P2P node key as hex

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

  • miner.recommit: The time interval for miner to re-create mining work (default: 2m5s)

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)