Skip to content

Commit 5903e42

Browse files
authored
docs: refresh repo layout crate lists (paradigmxyz#20319)
1 parent 3c41b99 commit 5903e42

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

docs/repo/layout.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,19 @@ All binaries are stored in [`bin`](../../bin).
4040
These crates are related to the database.
4141

4242
- [`storage/codecs`](../../crates/storage/codecs): Different storage codecs.
43+
- [`storage/codecs/derive`](../../crates/storage/codecs/derive): Derive macros for storage codecs.
4344
- [`storage/libmdbx-rs`](../../crates/storage/libmdbx-rs): Rust bindings for [libmdbx](https://github.com/erthink/libmdbx). A fork of an earlier Apache-licensed version of [libmdbx-rs][libmdbx-rs].
4445
- [`storage/db`](../../crates/storage/db): Strongly typed Database abstractions (transactions, cursors, tables) over lower level database backends.
4546
- Implemented backends: mdbx
47+
- [`storage/db-api`](../../crates/storage/db-api): High-level database access traits used across storage crates.
48+
- [`storage/db-common`](../../crates/storage/db-common): Shared database helpers and utilities.
49+
- [`storage/db-models`](../../crates/storage/db-models): Typed database models for on-disk tables.
50+
- [`storage/storage-api`](../../crates/storage/storage-api): Storage-facing APIs used by higher-level components.
4651
- [`storage/provider`](../../crates/storage/provider): Traits which provide a higher level api over the database to access the Ethereum state and historical data (transactions, blocks etc.)
52+
- [`storage/rpc-provider`](../../crates/storage/rpc-provider): Storage provider implementations tailored for RPC access patterns.
53+
- [`storage/errors`](../../crates/storage/errors): Common error types used by storage crates.
54+
- [`storage/nippy-jar`](../../crates/storage/nippy-jar): Compressed columnar storage for historical data.
55+
- [`storage/zstd-compressors`](../../crates/storage/zstd-compressors): Zstandard-based compressors used by storage components.
4756

4857

4958
### Networking
@@ -62,16 +71,21 @@ The networking component mainly lives in [`net/network`](../../crates/net/networ
6271
- Contains: Peer banlist.
6372
- [`net/network-api`](../../crates/net/network-api): Contains traits that define the networking component as a whole. Other components that interface with the network stack only need to depend on this crate for the relevant types.
6473
- [`net/nat`](../../crates/net/nat): A small helper crate that resolves the external IP of the running node using various methods (such as a manually provided IP, using UPnP etc.)
74+
- [`net/network-types`](../../crates/net/network-types): Common networking types (peer identifiers, capabilities, messages, etc.).
75+
- [`net/p2p`](../../crates/net/p2p): Higher-level P2P networking helpers and utilities.
76+
- [`net/peers`](../../crates/net/peers): Peer set management, scoring and reputation support.
6577

6678
#### Discovery
6779

6880
- [`net/discv4`](../../crates/net/discv4): An implementation of the [discv4][discv4] protocol
81+
- [`net/discv5`](../../crates/net/discv5): An implementation of the discv5 node discovery protocol.
6982
- [`net/dns`](../../crates/net/dns): An implementation of node discovery via DNS ([EIP-1459][eip-1459])
7083

7184
#### Protocol
7285

7386
- [`net/eth-wire`](../../crates/net/eth-wire): Implements the `eth` wire protocol and the ``RLPx`` networking stack.
7487
- [`net/ecies`](../../crates/net/ecies): Implementation of the Elliptic Curve Integrated Encryption Scheme used in the ``RLPx`` handshake.
88+
- [`net/eth-wire-types`](../../crates/net/eth-wire-types): Common types used by the `eth` wire protocol and RLPx networking stack.
7589

7690
#### Downloaders
7791

@@ -81,7 +95,9 @@ The networking component mainly lives in [`net/network`](../../crates/net/networ
8195

8296
Different consensus mechanisms.
8397

84-
- [`consensus/common`](../../crates/consensus/common): Common consensus functions and traits (e.g. fee calculation)
98+
- [`consensus/common`](../../crates/consensus/common): Common consensus functions and traits (e.g. fee calculation).
99+
- [`consensus/consensus`](../../crates/consensus/consensus): Core consensus engine interfaces and implementations.
100+
- [`consensus/debug-client`](../../crates/consensus/debug-client): Utilities for interacting with the consensus engine in debugging and testing scenarios.
85101

86102
### Execution
87103

@@ -96,7 +112,9 @@ Crates related to transaction execution.
96112

97113
These crates implement the main syncing drivers of reth.
98114

99-
- [`stages`](../../crates/stages): A pipelined sync, including implementation of various stages. This is used during initial sync and is faster than the tree-like structure for longer sync ranges.
115+
- [`stages/api`](../../crates/stages/api): Public API for the staged sync pipeline.
116+
- [`stages/stages`](../../crates/stages/stages): Implementations of the individual sync stages and the pipeline driver. This is used during initial sync and is faster than the tree-like structure for longer sync ranges.
117+
- [`stages/types`](../../crates/stages/types): Shared types used by the staged sync pipeline.
100118

101119
### RPC
102120

@@ -146,6 +164,10 @@ Crates related to building and validating payloads (blocks).
146164
- [`transaction-pool`](../../crates/transaction-pool): An in-memory pending transactions pool.
147165
- [`payload/builder`](../../crates/payload/builder): Abstractions for payload building and a payload builder service that works with multiple kinds of payload resolvers.
148166
- [`payload/basic`](../../crates/payload/basic): A basic payload generator.
167+
- [`payload/builder-primitives`](../../crates/payload/builder-primitives): Common primitives used by payload builders.
168+
- [`payload/primitives`](../../crates/payload/primitives): Shared types used when building and validating payloads.
169+
- [`payload/util`](../../crates/payload/util): Utility helpers used by payload building and validation logic.
170+
- [`payload/validator`](../../crates/payload/validator): Payload validation helpers and utilities.
149171

150172
### Primitives
151173

@@ -169,6 +191,12 @@ Small utility crates.
169191
- [`metrics/metrics-derive`](https://github.com/rkrasiuk/metrics-derive): A derive-style API for creating metrics
170192
- [`metrics/reth-node-metrics`](../../crates/node/metrics/): The implementation of metrics server, recorder, hooks.
171193
- [`tracing`](../../crates/tracing): A small utility crate to install a uniform [`tracing`][tracing] subscriber
194+
- [`fs-util`](../../crates/fs-util): Small filesystem utilities shared across the node.
195+
- [`tokio-util`](../../crates/tokio-util): Tokio-related utilities used by reth.
196+
- [`static-file`](../../crates/static-file): Utilities for bundling and serving static files.
197+
- [`tracing-otlp`](../../crates/tracing-otlp): Exporter for sending [`tracing`][tracing] spans to OTLP/OTel backends.
198+
- [`errors`](../../crates/errors): Common error types shared across multiple crates.
199+
- [`e2e-test-utils`](../../crates/e2e-test-utils): Helpers for end-to-end tests of the node.
172200

173201
[libmdbx-rs]: https://crates.io/crates/libmdbx
174202
[discv4]: https://github.com/ethereum/devp2p/blob/master/discv4.md

0 commit comments

Comments
 (0)