-
Notifications
You must be signed in to change notification settings - Fork 556
Add default values to CLI helper and docs #632
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportBase: 56.83% // Head: 56.82% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #632 +/- ##
==========================================
- Coverage 56.83% 56.82% -0.02%
==========================================
Files 598 598
Lines 69243 69287 +44
==========================================
+ Hits 39356 39374 +18
- Misses 26523 26557 +34
+ Partials 3364 3356 -8
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
manav2401
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Have few minor doubts.
- Shall we remove the default from description from here and here.
- I believe we should remove the defaults from the description for the flags under cache as they might be confusing for users. The flags state that if a user runs for example an archive node, the default used will be different but that is not the case actually with the new-cli.
|
Also, one more suggestion from my end would be to add a direct link to the server subcommand readme page on the root of docs/cli for better visibility and also mention the crux of the new cli on the same page (similar to what we're planning to use in the forum post). |
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.
Thanks for catching these flags. I removed the defaults from their descriptions. |
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.
Example server CLI helper output:
$ bor server -h Usage: bor [options] Run the Bor server. 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 (<number>=<hash>) -snapshot Enables the snapshot-database mode (default = true) (default: true) -bor.logs Enables bor log retrieval (default = false) (default: false) -bor.heimdall URL of Heimdall service (default: http://localhost:1317) -bor.withoutheimdall Run without Heimdall service (for testing purpose) (default: false) -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) -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) -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) -cache Megabytes of memory allocated to internal caching (default = 4096 mainnet full node) (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% full mode, 30% archive mode) (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% full mode, 0% archive mode) (default: 25) -cache.snapshot Percentage of cache memory allowance to use for snapshot caching (default = 10% full mode, 20% archive mode) (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) -txlookuplimit Number of recent blocks to maintain transactions index for (default = about 56 days, 0 = entire chain) (default: 2350000) -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) -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:<IP>) (default: any) -nodiscover Disables the peer discovery mechanism (manual peer addition) (default: false) -v5disc Enables the experimental RLPx V5 (Topic Discovery) mechanism (default: false) -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) -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) -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)Changes
Breaking changes
Please complete this section if any breaking changes have been made, otherwise delete it
Checklist
Cross repository changes
Testing
Manual tests
Please complete this section with the steps you performed if you ran manual tests for this functionality, otherwise delete it
Additional comments
Please post additional comments in this section if you have them, otherwise delete it