Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# Documentation

- [The new command line interface](./cli)
[The new command line interface (CLI)](./cli) in this version of Bor aims to give users more control over the codebase when interacting with and starting a node. We have made every effort to keep most of the flags similar to the old CLI, except for a few notable changes. One major change is the use of the --config flag, which previously represented fields without available flags. It now represents all flags available to the user, and will overwrite any other flags if provided. As a node operator, you still have the flexibility to modify flags as needed. Please note that this change does not affect the internal functionality of the node, and it remains compatible with Geth and the Ethereum Virtual Machine (EVM).

## Additional notes

Expand All @@ -11,6 +11,8 @@
$ bor server <flags>
```

See [here](./cli/server.md) for more flag details.

- The `bor dumpconfig` sub-command prints the default configurations, in the TOML format, on the terminal. One can `pipe (>)` this to a file (say `config.toml`) and use it to start bor.

- A toml file now can be used instead of flags and can contain all configuration for the node to run. To simply run bor with a configuration file, the following command can be used.
Expand Down
10 changes: 5 additions & 5 deletions docs/cli/bootnode.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

## Options

- ```listen-addr```: listening address of bootnode (<ip>:<port>)
- ```listen-addr```: listening address of bootnode (<ip>:<port>) (default: 0.0.0.0:30303)

- ```v5```: Enable UDP v5
- ```v5```: Enable UDP v5 (default: false)

- ```log-level```: Log level (trace|debug|info|warn|error|crit)
- ```log-level```: Log level (trace|debug|info|warn|error|crit) (default: info)

- ```nat```: port mapping mechanism (any|none|upnp|pmp|extip:<IP>)
- ```nat```: port mapping mechanism (any|none|upnp|pmp|extip:<IP>) (default: none)

- ```node-key```: file or hex node key

- ```save-key```: path to save the ecdsa private key

- ```dry-run```: validates parameters and prints bootnode configurations, but does not start bootnode
- ```dry-run```: validates parameters and prints bootnode configurations, but does not start bootnode (default: false)
4 changes: 2 additions & 2 deletions docs/cli/chain_sethead.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ The ```chain sethead <number>``` command sets the current chain to a certain blo

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)

- ```yes```: Force set head
- ```yes```: Force set head (default: false)
2 changes: 1 addition & 1 deletion docs/cli/debug_block.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ The ```bor debug block <number>``` command will create an archive containing tra

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)

- ```output```: Output directory
4 changes: 2 additions & 2 deletions docs/cli/debug_pprof.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ The ```debug pprof <enode>``` command will create an archive containing bor ppro

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)

- ```seconds```: seconds to trace
- ```seconds```: seconds to trace (default: 2)

- ```output```: Output directory
4 changes: 2 additions & 2 deletions docs/cli/peers_add.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ The ```peers add <enode>``` command joins the local client to another remote pee

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)

- ```trusted```: Add the peer as a trusted
- ```trusted```: Add the peer as a trusted (default: false)
2 changes: 1 addition & 1 deletion docs/cli/peers_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ The ```peers list``` command lists the connected peers.

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)
4 changes: 2 additions & 2 deletions docs/cli/peers_remove.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ The ```peers remove <enode>``` command disconnects the local client from a conne

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)

- ```trusted```: Add the peer as a trusted
- ```trusted```: Add the peer as a trusted (default: false)
2 changes: 1 addition & 1 deletion docs/cli/peers_status.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ The ```peers status <peer id>``` command displays the status of a peer by its id

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)
2 changes: 1 addition & 1 deletion docs/cli/removedb.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ The ```bor removedb``` command will remove the blockchain and state databases at

## Options

- ```address```: Address of the grpc endpoint
- ```address```: Address of the grpc endpoint (default: 127.0.0.1:3131)

- ```datadir```: Path of the data directory to store information
144 changes: 73 additions & 71 deletions docs/cli/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,161 +4,163 @@ The ```bor server``` command runs the Bor client.

## Options

- ```chain```: Name of the chain to sync ('mumbai', 'mainnet') or path to a genesis file
- ```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
- ```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)
- ```syncmode```: Blockchain sync mode (only "full" sync supported) (default: full)

- ```gcmode```: Blockchain garbage collection mode ("full", "archive")
- ```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)
- ```snapshot```: Enables the snapshot-database mode (default: true)

- ```bor.logs```: Enables bor log retrieval (default = false)
- ```bor.logs```: Enables bor log retrieval (default: false)

- ```bor.heimdall```: URL of Heimdall service
- ```bor.heimdall```: URL of Heimdall service (default: http://localhost:1317)

- ```bor.withoutheimdall```: Run without Heimdall service (for testing purpose)
- ```bor.withoutheimdall```: Run without Heimdall service (for testing purpose) (default: false)

- ```ethstats```: Reporting URL of a ethstats service (nodename:secret@host:port)

- ```gpo.blocks```: Number of recent blocks to check for gas prices
- ```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
- ```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
- ```gpo.maxprice```: Maximum gas price will be recommended by gpo (default: 5000000000000)

- ```gpo.ignoreprice```: Gas price below which gpo will ignore transactions
- ```gpo.ignoreprice```: Gas price below which gpo will ignore transactions (default: 2)

- ```disable-bor-wallet```: Disable the personal wallet endpoints
- ```disable-bor-wallet```: Disable the personal wallet endpoints (default: true)

- ```grpc.addr```: Address and port to bind the GRPC server
- ```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
- ```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)
- ```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
- ```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
- ```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 = 4096 mainnet full node)
- ```cache```: Megabytes of memory allocated to internal caching (default: 1024)

- ```cache.database```: Percentage of cache memory allowance to use for database io
- ```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)
- ```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
- ```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
- ```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)
- ```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% full mode, 20% archive mode)
- ```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)
- ```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
- ```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)
- ```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)
- ```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)
- ```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
- ```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)
- ```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.
- ```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
- ```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)
- ```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.
- ```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
- ```http```: Enable the HTTP-RPC server (default: false)

- ```http.addr```: HTTP-RPC server listening interface
- ```http.addr```: HTTP-RPC server listening interface (default: localhost)

- ```http.port```: HTTP-RPC server listening port
- ```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
- ```http.api```: API's offered over the HTTP-RPC interface (default: eth,net,web3,txpool,bor)

- ```ws```: Enable the WS-RPC server
- ```ws```: Enable the WS-RPC server (default: false)

- ```ws.addr```: WS-RPC server listening interface
- ```ws.addr```: WS-RPC server listening interface (default: localhost)

- ```ws.port```: WS-RPC server listening port
- ```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
- ```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.
- ```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
- ```bind```: Network binding address (default: 0.0.0.0)

- ```port```: Network listening port
- ```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)
- ```maxpeers```: Maximum number of network peers (network disabled if set to 0) (default: 50)

- ```maxpendpeers```: Maximum number of pending connection attempts
- ```maxpendpeers```: Maximum number of pending connection attempts (default: 50)

- ```nat```: NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>)
- ```nat```: NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>) (default: any)

- ```nodiscover```: Disables the peer discovery mechanism (manual peer addition)
- ```nodiscover```: Disables the peer discovery mechanism (manual peer addition) (default: false)

- ```v5disc```: Enables the experimental RLPx V5 (Topic Discovery) mechanism
- ```v5disc```: Enables the experimental RLPx V5 (Topic Discovery) mechanism (default: false)

### Sealer Options

- ```mine```: Enable mining
- ```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
- ```miner.gaslimit```: Target gas ceiling (gas limit) for mined blocks (default: 30000000)

- ```miner.gasprice```: Minimum gas price for mining a transaction
- ```miner.gasprice```: Minimum gas price for mining a transaction (default: 1000000000)

### Telemetry Options

- ```metrics```: Enable metrics collection and reporting
- ```metrics```: Enable metrics collection and reporting (default: false)

- ```metrics.expensive```: Enable expensive metrics collection and reporting
- ```metrics.expensive```: Enable expensive metrics collection and reporting (default: false)

- ```metrics.influxdb```: Enable metrics export/push to an external InfluxDB database (v1)
- ```metrics.influxdb```: Enable metrics export/push to an external InfluxDB database (v1) (default: false)

- ```metrics.influxdb.endpoint```: InfluxDB API endpoint to report metrics to

Expand All @@ -170,11 +172,11 @@ The ```bor server``` command runs the Bor client.

- ```metrics.influxdb.tags```: Comma-separated InfluxDB tags (key/values) attached to all measurements

- ```metrics.prometheus-addr```: Address for Prometheus Server
- ```metrics.prometheus-addr```: Address for Prometheus Server (default: 127.0.0.1:7071)

- ```metrics.opencollector-endpoint```: OpenCollector Endpoint (host:port)
- ```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
- ```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)

Expand All @@ -186,22 +188,22 @@ The ```bor server``` command runs the Bor client.

- ```txpool.locals```: Comma separated accounts to treat as locals (no flush, priority inclusion)

- ```txpool.nolocals```: Disables price exemptions for locally submitted transactions
- ```txpool.nolocals```: Disables price exemptions for locally submitted transactions (default: false)

- ```txpool.journal```: Disk journal for local transaction to survive node restarts
- ```txpool.journal```: Disk journal for local transaction to survive node restarts (default: transactions.rlp)

- ```txpool.rejournal```: Time interval to regenerate the local transaction journal
- ```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
- ```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
- ```txpool.pricebump```: Price bump percentage to replace an already existing transaction (default: 10)

- ```txpool.accountslots```: Minimum number of executable transaction slots guaranteed per account
- ```txpool.accountslots```: Minimum number of executable transaction slots guaranteed per account (default: 16)

- ```txpool.globalslots```: Maximum number of executable transaction slots for all accounts
- ```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
- ```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
- ```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
- ```txpool.lifetime```: Maximum amount of time non-executable transaction are queued (default: 3h0m0s)
Loading