* 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 commit4d19cf5342. * Bump version to stable * Revert "Merge pull request #435 from maticnetwork/POS-553" This reverts commit657d262def, reversing changes made to88dbfa1c13. * 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 commit241843c7e7. * 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 commit22fa4033e8. * 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 commit241843c7e7. * 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 commit22fa4033e8. * 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 commit4561012af9. * 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 commit241843c7e7. * 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 commit22fa4033e8. * 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>
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)