docs(book): trim any white space at the line right ending (#8242)

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
Delweng
2024-05-22 00:32:09 +08:00
committed by GitHub
parent 8a02e6e0e1
commit e089c5c37d
46 changed files with 1238 additions and 956 deletions

View File

@ -472,5 +472,5 @@ cfg-check:
pr:
make cfg-check && \
make lint && \
make docs && \
make update-book-cli && \
make test

View File

@ -32,6 +32,7 @@
- [`reth init`](./cli/reth/init.md)
- [`reth init-state`](./cli/reth/init-state.md)
- [`reth import`](./cli/reth/import.md)
- [`reth import-receipts`](./cli/reth/import-receipts.md)
- [`reth dump-genesis`](./cli/reth/dump-genesis.md)
- [`reth db`](./cli/reth/db.md)
- [`reth db stats`](./cli/reth/db/stats.md)

1
book/cli/SUMMARY.md vendored
View File

@ -3,6 +3,7 @@
- [`reth init`](./reth/init.md)
- [`reth init-state`](./reth/init-state.md)
- [`reth import`](./reth/import.md)
- [`reth import-receipts`](./reth/import-receipts.md)
- [`reth dump-genesis`](./reth/dump-genesis.md)
- [`reth db`](./reth/db.md)
- [`reth db stats`](./reth/db/stats.md)

View File

@ -23,6 +23,12 @@ Automatically-generated CLI reference from `--help` output.
"""
def write_file(file_path, content):
content = "\n".join([line.rstrip() for line in content.split("\n")])
with open(file_path, "w") as f:
f.write(content)
def main():
args = parse_args(sys.argv[1:])
for cmd in args.commands:
@ -65,13 +71,11 @@ def main():
root_summary += cmd_summary(root_path, cmd, obj, args.root_indentation)
root_summary += "\n"
with open(path.join(args.out_dir, "SUMMARY.md"), "w") as f:
f.write(summary)
write_file(path.join(args.out_dir, "SUMMARY.md"), summary)
# Generate README.md.
if args.readme:
with open(path.join(args.out_dir, "README.md"), "w") as f:
f.write(README)
write_file(path.join(args.out_dir, "README.md"), README)
if args.root_summary:
update_root_summary(args.root_dir, root_summary)
@ -162,8 +166,7 @@ def cmd_markdown(out_dir: str, cmd: str, obj: object):
for arg in cmd:
out_path = path.join(out_path, arg)
makedirs(path.dirname(out_path), exist_ok=True)
with open(f"{out_path}.md", "w") as f:
f.write(out)
write_file(f"{out_path}.md", out)
for k, v in obj.items():
if k == HELP_KEY:
@ -250,14 +253,27 @@ def command_name(cmd: str):
"""Returns the name of a command."""
return cmd.split("/")[-1]
def preprocess_help(s: str):
"""Preprocesses the help output of a command."""
# Remove the user-specific paths.
s = re.sub(r"default: /.*/reth", "default: <CACHE_DIR>", s)
s = re.sub(
r"default: /.*/reth",
"default: <CACHE_DIR>",
s,
)
# Remove the commit SHA and target architecture triple
s = re.sub(r"default: reth/.*-[0-9A-Fa-f]{6,10}/\w+-\w*-\w+", "default: reth/<VERSION>-<SHA>/<ARCH>", s)
s = re.sub(
r"default: reth/.*-[0-9A-Fa-f]{6,10}/\w+-\w*-\w+",
"default: reth/<VERSION>-<SHA>/<ARCH>",
s,
)
# Remove the OS
s = re.sub(r"default: reth/.*/\w+", "default: reth/<VERSION>/<OS>", s)
s = re.sub(
r"default: reth/.*/\w+",
"default: reth/<VERSION>/<OS>",
s,
)
return s

27
book/cli/reth.md vendored
View File

@ -7,19 +7,20 @@ $ reth --help
Usage: reth [OPTIONS] <COMMAND>
Commands:
node Start the node
init Initialize the database from a genesis file
init-state Initialize the database from a state dump file
import This syncs RLP encoded blocks from a file
dump-genesis Dumps genesis block JSON configuration to stdout
db Database debugging utilities
stage Manipulate individual stages
p2p P2P Debugging utilities
test-vectors Generate Test Vectors
config Write config to stdout
debug Various debug routines
recover Scripts for node recovery
help Print this message or the help of the given subcommand(s)
node Start the node
init Initialize the database from a genesis file
init-state Initialize the database from a state dump file
import This syncs RLP encoded blocks from a file
import-receipts This imports RLP encoded receipts from a file
dump-genesis Dumps genesis block JSON configuration to stdout
db Database debugging utilities
stage Manipulate individual stages
p2p P2P Debugging utilities
test-vectors Generate Test Vectors
config Write config to stdout
debug Various debug routines
recover Scripts for node recovery
help Print this message or the help of the given subcommand(s)
Options:
--chain <CHAIN_OR_PATH>

148
book/cli/reth/import-receipts.md vendored Normal file
View File

@ -0,0 +1,148 @@
# reth import-receipts
This imports RLP encoded receipts from a file
```bash
$ reth import-receipts --help
Usage: reth import-receipts [OPTIONS] <IMPORT_PATH>
Options:
--datadir <DATA_DIR>
The path to the data dir for all reth files and subdirectories.
Defaults to the OS-specific data directory:
- Linux: `$XDG_DATA_HOME/reth/` or `$HOME/.local/share/reth/`
- Windows: `{FOLDERID_RoamingAppData}/reth/`
- macOS: `$HOME/Library/Application Support/reth/`
[default: default]
--chain <CHAIN_OR_PATH>
The chain this node is running.
Possible values are either a built-in chain or the path to a chain specification file.
Built-in chains:
mainnet, sepolia, goerli, holesky, dev
[default: mainnet]
--chunk-len <CHUNK_LEN>
Chunk byte length.
--instance <INSTANCE>
Add a new instance of a node.
Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine.
Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other.
Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2
[default: 1]
-h, --help
Print help (see a summary with '-h')
Database:
--db.log-level <LOG_LEVEL>
Database logging level. Levels higher than "notice" require a debug build
Possible values:
- fatal: Enables logging for critical conditions, i.e. assertion failures
- error: Enables logging for error conditions
- warn: Enables logging for warning conditions
- notice: Enables logging for normal but significant condition
- verbose: Enables logging for verbose informational
- debug: Enables logging for debug-level messages
- trace: Enables logging for trace debug-level messages
- extra: Enables logging for extra debug-level messages
--db.exclusive <EXCLUSIVE>
Open environment in exclusive/monopolistic mode. Makes it possible to open a database on an NFS volume
[possible values: true, false]
<IMPORT_PATH>
The path to a receipts file for import. File must use `HackReceiptCodec` (used for
exporting OP chain segment below Bedrock block via testinprod/op-geth).
<https://github.com/testinprod-io/op-geth/pull/1>
Logging:
--log.stdout.format <FORMAT>
The format to use for logs written to stdout
[default: terminal]
Possible values:
- json: Represents JSON formatting for logs. This format outputs log records as JSON objects, making it suitable for structured logging
- log-fmt: Represents logfmt (key=value) formatting for logs. This format is concise and human-readable, typically used in command-line applications
- terminal: Represents terminal-friendly formatting for logs
--log.stdout.filter <FILTER>
The filter to use for logs written to stdout
[default: ]
--log.file.format <FORMAT>
The format to use for logs written to the log file
[default: terminal]
Possible values:
- json: Represents JSON formatting for logs. This format outputs log records as JSON objects, making it suitable for structured logging
- log-fmt: Represents logfmt (key=value) formatting for logs. This format is concise and human-readable, typically used in command-line applications
- terminal: Represents terminal-friendly formatting for logs
--log.file.filter <FILTER>
The filter to use for logs written to the log file
[default: debug]
--log.file.directory <PATH>
The path to put log files in
[default: <CACHE_DIR>/logs]
--log.file.max-size <SIZE>
The maximum size (in MB) of one log file
[default: 200]
--log.file.max-files <COUNT>
The maximum amount of log files that will be stored. If set to 0, background file logging is disabled
[default: 5]
--log.journald
Write logs to journald
--log.journald.filter <FILTER>
The filter to use for logs written to journald
[default: error]
--color <COLOR>
Sets whether or not the formatter emits ANSI terminal escape codes for colors and other text formatting
[default: always]
Possible values:
- always: Colors on
- auto: Colors on
- never: Colors off
Display:
-v, --verbosity...
Set the minimum log level.
-v Errors
-vv Warnings
-vvv Info
-vvvv Debug
-vvvvv Traces (warning: very verbose!)
-q, --quiet
Silence all log output
```

View File

@ -4,7 +4,27 @@ Initialize the database from a state dump file
```bash
$ reth init-state --help
Usage: reth init-state [OPTIONS]
Usage: reth init-state [OPTIONS] <STATE_DUMP_FILE>
Arguments:
<STATE_DUMP_FILE>
JSONL file with state dump.
Must contain accounts in following format, additional account fields are ignored. Must
also contain { "root": \<state-root\> } as first line.
{
"balance": "\<balance\>",
"nonce": \<nonce\>,
"code": "\<bytecode\>",
"storage": {
"\<key\>": "\<value\>",
..
},
"address": "\<address\>",
}
Allows init at a non-genesis block. Caution! Blocks must be manually imported up until
and including the non-genesis block to init chain at. See 'import' command.
Options:
--datadir <DATA_DIR>
@ -27,25 +47,6 @@ Options:
[default: mainnet]
--state <STATE_DUMP_FILE>
JSONL file with state dump.
Must contain accounts in following format, additional account fields are ignored. Can
also contain { "root": \<state-root\> } as first line.
{
"balance": "\<balance\>",
"nonce": \<nonce\>,
"code": "\<bytecode\>",
"storage": {
"\<key\>": "\<value\>",
..
},
"address": "\<address\>",
}
Allows init at a non-genesis block. Caution! Blocks must be manually imported up until
and including the non-genesis block to init chain at. See 'import' command.
--instance <INSTANCE>
Add a new instance of a node.

34
book/cli/reth/node.md vendored
View File

@ -79,12 +79,18 @@ Networking:
[default: 30303]
--discovery.v5.addr <DISCOVERY_V5_ADDR>
The UDP address to use for devp2p peer discovery version 5
The UDP IPv4 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv4
[default: 0.0.0.0]
--discovery.v5.addr.ipv6 <DISCOVERY_V5_ADDR_IPV6>
The UDP IPv6 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv6
--discovery.v5.port <DISCOVERY_V5_PORT>
The UDP port to use for devp2p peer discovery version 5
The UDP IPv4 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv4, or `--discv5.addr` is set
[default: 9000]
--discovery.v5.port.ipv6 <DISCOVERY_V5_PORT_IPV6>
The UDP IPv6 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv6, or `--discv5.addr.ipv6` is set
[default: 9000]
@ -109,7 +115,7 @@ Networking:
--trusted-peers enode://abcd@192.168.0.1:30303
--trusted-only
Connect only to trusted peers
Connect to or accept from trusted peers only
--bootnodes <BOOTNODES>
Comma separated enode URLs for P2P discovery bootstrap.
@ -155,14 +161,24 @@ Networking:
Maximum number of inbound requests. default: 30
--pooled-tx-response-soft-limit <BYTES>
Soft limit for the byte size of a `PooledTransactions` response on assembling a `GetPooledTransactions` request. Spec'd at 2 MiB.
<https://github.com/ethereum/devp2p/blob/master/caps/eth.md#protocol-messages>.
Experimental, for usage in research. Sets the max accumulated byte size of transactions
to pack in one response.
Spec'd at 2MiB.
[default: 2097152]
--pooled-tx-pack-soft-limit <BYTES>
Default soft limit for the byte size of a `PooledTransactions` response on assembling a `GetPooledTransactions` request. This defaults to less than the [`SOFT_LIMIT_BYTE_SIZE_POOLED_TRANSACTIONS_RESPONSE`], at 2 MiB, used when assembling a `PooledTransactions` response. Default is 128 KiB
Experimental, for usage in research. Sets the max accumulated byte size of transactions to
request in one request.
Since RLPx protocol version 68, the byte size of a transaction is shared as metadata in a
transaction announcement (see RLPx specs). This allows a node to request a specific size
response.
By default, nodes request only 128 KiB worth of transactions, but should a peer request
more, up to 2 MiB, a node will answer with more than 128 KiB.
Default is 128 KiB.
[default: 131072]
@ -271,7 +287,7 @@ RPC:
--rpc.max-tracing-requests <COUNT>
Maximum number of concurrent tracing requests
[default: 8]
[default: 6]
--rpc.max-blocks-per-filter <COUNT>
Maximum number of blocks that could be scanned per filter request. (0 = entire chain)

118
book/cli/reth/p2p.md vendored
View File

@ -35,11 +35,21 @@ Options:
[default: default]
--p2p-secret-key <PATH>
Secret key to use for this node.
--instance <INSTANCE>
Add a new instance of a node.
This also will deterministically set the peer ID.
Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine.
Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other.
Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2
[default: 1]
-h, --help
Print help (see a summary with '-h')
Networking:
-d, --disable-discovery
Disable the discovery service
@ -63,12 +73,18 @@ Options:
[default: 30303]
--discovery.v5.addr <DISCOVERY_V5_ADDR>
The UDP address to use for devp2p peer discovery version 5
The UDP IPv4 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv4
[default: 0.0.0.0]
--discovery.v5.addr.ipv6 <DISCOVERY_V5_ADDR_IPV6>
The UDP IPv6 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv6
--discovery.v5.port <DISCOVERY_V5_PORT>
The UDP port to use for devp2p peer discovery version 5
The UDP IPv4 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv4, or `--discv5.addr` is set
[default: 9000]
--discovery.v5.port.ipv6 <DISCOVERY_V5_PORT_IPV6>
The UDP IPv6 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv6, or `--discv5.addr.ipv6` is set
[default: 9000]
@ -82,39 +98,89 @@ Options:
[default: 5]
--instance <INSTANCE>
Add a new instance of a node.
Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine.
Max number of instances is 200. It is chosen in a way so that it's not possible to have port numbers that conflict with each other.
Changes to the following port numbers: - DISCOVERY_PORT: default + `instance` - 1 - AUTH_PORT: default + `instance` * 100 - 100 - HTTP_RPC_PORT: default - `instance` + 1 - WS_RPC_PORT: default + `instance` * 2 - 2
[default: 1]
--discovery.v5.bootstrap.lookup-countdown <DISCOVERY_V5_bootstrap_lookup_countdown>
The number of times to carry out boost lookup queries at bootstrap
[default: 100]
--trusted-peer <TRUSTED_PEER>
Target trusted peer
--trusted-peers <TRUSTED_PEERS>
Comma separated enode URLs of trusted peers for P2P connections.
--trusted-peers enode://abcd@192.168.0.1:30303
--trusted-only
Connect only to trusted peers
Connect to or accept from trusted peers only
--bootnodes <BOOTNODES>
Comma separated enode URLs for P2P discovery bootstrap.
Will fall back to a network-specific default if not specified.
--peers-file <FILE>
The path to the known peers file. Connected peers are dumped to this file on nodes
shutdown, and read on startup. Cannot be used with `--no-persist-peers`.
--identity <IDENTITY>
Custom node identity
[default: reth/<VERSION>-<SHA>/<ARCH>]
--p2p-secret-key <PATH>
Secret key to use for this node.
This will also deterministically set the peer ID. If not specified, it will be set in the data dir for the chain being used.
--no-persist-peers
Do not persist peers.
--nat <NAT>
NAT resolution method (any|none|upnp|publicip|extip:\<IP\>)
[default: any]
--addr <ADDR>
Network listening address
[default: 0.0.0.0]
--port <PORT>
Network listening port
[default: 30303]
--max-outbound-peers <MAX_OUTBOUND_PEERS>
Maximum number of outbound requests. default: 100
--max-inbound-peers <MAX_INBOUND_PEERS>
Maximum number of inbound requests. default: 30
--pooled-tx-response-soft-limit <BYTES>
Experimental, for usage in research. Sets the max accumulated byte size of transactions
to pack in one response.
Spec'd at 2MiB.
[default: 2097152]
--pooled-tx-pack-soft-limit <BYTES>
Experimental, for usage in research. Sets the max accumulated byte size of transactions to
request in one request.
Since RLPx protocol version 68, the byte size of a transaction is shared as metadata in a
transaction announcement (see RLPx specs). This allows a node to request a specific size
response.
By default, nodes request only 128 KiB worth of transactions, but should a peer request
more, up to 2 MiB, a node will answer with more than 128 KiB.
Default is 128 KiB.
[default: 131072]
--retries <RETRIES>
The number of retries per request
[default: 5]
--nat <NAT>
[default: any]
-h, --help
Print help (see a summary with '-h')
Database:
--db.log-level <LOG_LEVEL>
Database logging level. Levels higher than "notice" require a debug build

View File

@ -110,12 +110,18 @@ Networking:
[default: 30303]
--discovery.v5.addr <DISCOVERY_V5_ADDR>
The UDP address to use for devp2p peer discovery version 5
The UDP IPv4 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv4
[default: 0.0.0.0]
--discovery.v5.addr.ipv6 <DISCOVERY_V5_ADDR_IPV6>
The UDP IPv6 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv6
--discovery.v5.port <DISCOVERY_V5_PORT>
The UDP port to use for devp2p peer discovery version 5
The UDP IPv4 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv4, or `--discv5.addr` is set
[default: 9000]
--discovery.v5.port.ipv6 <DISCOVERY_V5_PORT_IPV6>
The UDP IPv6 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv6, or `--discv5.addr.ipv6` is set
[default: 9000]
@ -140,7 +146,7 @@ Networking:
--trusted-peers enode://abcd@192.168.0.1:30303
--trusted-only
Connect only to trusted peers
Connect to or accept from trusted peers only
--bootnodes <BOOTNODES>
Comma separated enode URLs for P2P discovery bootstrap.
@ -186,14 +192,24 @@ Networking:
Maximum number of inbound requests. default: 30
--pooled-tx-response-soft-limit <BYTES>
Soft limit for the byte size of a `PooledTransactions` response on assembling a `GetPooledTransactions` request. Spec'd at 2 MiB.
<https://github.com/ethereum/devp2p/blob/master/caps/eth.md#protocol-messages>.
Experimental, for usage in research. Sets the max accumulated byte size of transactions
to pack in one response.
Spec'd at 2MiB.
[default: 2097152]
--pooled-tx-pack-soft-limit <BYTES>
Default soft limit for the byte size of a `PooledTransactions` response on assembling a `GetPooledTransactions` request. This defaults to less than the [`SOFT_LIMIT_BYTE_SIZE_POOLED_TRANSACTIONS_RESPONSE`], at 2 MiB, used when assembling a `PooledTransactions` response. Default is 128 KiB
Experimental, for usage in research. Sets the max accumulated byte size of transactions to
request in one request.
Since RLPx protocol version 68, the byte size of a transaction is shared as metadata in a
transaction announcement (see RLPx specs). This allows a node to request a specific size
response.
By default, nodes request only 128 KiB worth of transactions, but should a peer request
more, up to 2 MiB, a node will answer with more than 128 KiB.
Default is 128 KiB.
[default: 131072]

View File

@ -89,12 +89,18 @@ Networking:
[default: 30303]
--discovery.v5.addr <DISCOVERY_V5_ADDR>
The UDP address to use for devp2p peer discovery version 5
The UDP IPv4 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv4
[default: 0.0.0.0]
--discovery.v5.addr.ipv6 <DISCOVERY_V5_ADDR_IPV6>
The UDP IPv6 address to use for devp2p peer discovery version 5. Overwritten by RLPx address, if it's also IPv6
--discovery.v5.port <DISCOVERY_V5_PORT>
The UDP port to use for devp2p peer discovery version 5
The UDP IPv4 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv4, or `--discv5.addr` is set
[default: 9000]
--discovery.v5.port.ipv6 <DISCOVERY_V5_PORT_IPV6>
The UDP IPv6 port to use for devp2p peer discovery version 5. Not used unless `--addr` is IPv6, or `--discv5.addr.ipv6` is set
[default: 9000]
@ -119,7 +125,7 @@ Networking:
--trusted-peers enode://abcd@192.168.0.1:30303
--trusted-only
Connect only to trusted peers
Connect to or accept from trusted peers only
--bootnodes <BOOTNODES>
Comma separated enode URLs for P2P discovery bootstrap.
@ -165,14 +171,24 @@ Networking:
Maximum number of inbound requests. default: 30
--pooled-tx-response-soft-limit <BYTES>
Soft limit for the byte size of a `PooledTransactions` response on assembling a `GetPooledTransactions` request. Spec'd at 2 MiB.
<https://github.com/ethereum/devp2p/blob/master/caps/eth.md#protocol-messages>.
Experimental, for usage in research. Sets the max accumulated byte size of transactions
to pack in one response.
Spec'd at 2MiB.
[default: 2097152]
--pooled-tx-pack-soft-limit <BYTES>
Default soft limit for the byte size of a `PooledTransactions` response on assembling a `GetPooledTransactions` request. This defaults to less than the [`SOFT_LIMIT_BYTE_SIZE_POOLED_TRANSACTIONS_RESPONSE`], at 2 MiB, used when assembling a `PooledTransactions` response. Default is 128 KiB
Experimental, for usage in research. Sets the max accumulated byte size of transactions to
request in one request.
Since RLPx protocol version 68, the byte size of a transaction is shared as metadata in a
transaction announcement (see RLPx specs). This allows a node to request a specific size
response.
By default, nodes request only 128 KiB worth of transactions, but should a peer request
more, up to 2 MiB, a node will answer with more than 128 KiB.
Default is 128 KiB.
[default: 131072]