mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-01-09 15:28:01 -05:00
docs: apply spelling and grammar fixes (#18836)
Co-authored-by: Jennifer Paffrath <jenpaff0@gmail.com> Co-authored-by: Max <max@digi.net>
This commit is contained in:
@@ -256,7 +256,7 @@ self.tx.put::<tables::HeaderNumbers>(block.hash(), block_number)?;
|
||||
Let's take a look at the `DatabaseProviderRW<DB: Database>` struct, which is used to create a mutable transaction to interact with the database.
|
||||
The `DatabaseProviderRW<DB: Database>` struct implements the `Deref` and `DerefMut` traits, which return a reference to its first field, which is a `TxMut`. Recall that `TxMut` is a generic type on the `Database` trait, which is defined as `type TXMut: DbTxMut + DbTx + Send + Sync;`, giving it access to all of the functions available to `DbTx`, including the `DbTx::get()` function.
|
||||
|
||||
This next example uses the `DbTx::cursor()` method to get a `Cursor`. The `Cursor` type provides a way to traverse through rows in a database table, one row at a time. A cursor enables the program to perform an operation (updating, deleting, etc) on each row in the table individually. The following code snippet gets a cursor for a few different tables in the database.
|
||||
This next example uses the `DbTx::cursor_read()` method to get a `Cursor`. The `Cursor` type provides a way to traverse through rows in a database table, one row at a time. A cursor enables the program to perform an operation (updating, deleting, etc) on each row in the table individually. The following code snippet gets a cursor for a few different tables in the database.
|
||||
|
||||
[File: crates/static-file/static-file/src/segments/headers.rs](https://github.com/paradigmxyz/reth/blob/bf9cac7571f018fec581fe3647862dab527aeafb/crates/static-file/static-file/src/segments/headers.rs#L22-L58)
|
||||
|
||||
@@ -301,11 +301,6 @@ fn unwind(&mut self, provider: &DatabaseProviderRW<DB>, input: UnwindInput) {
|
||||
withdrawals_cursor.delete_current()?;
|
||||
}
|
||||
|
||||
// Delete the requests entry if any
|
||||
if requests_cursor.seek_exact(number)?.is_some() {
|
||||
requests_cursor.delete_current()?;
|
||||
}
|
||||
|
||||
// Delete all transactions to block values.
|
||||
if !block_meta.is_empty() &&
|
||||
tx_block_cursor.seek_exact(block_meta.last_tx_num())?.is_some()
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
Docs under this page contain some context on how we've iterated on the Reth design (still WIP, please contribute!):
|
||||
|
||||
- [Reth Goals](./goals.md)
|
||||
- [Database](./database.md)
|
||||
- Networking
|
||||
- [P2P](./p2p.md)
|
||||
|
||||
@@ -17,7 +17,7 @@ Reth secures real value on Ethereum mainnet today, trusted by institutions like
|
||||
Reth pushes the performance frontier across every dimension, from L2 sequencers to MEV block building.
|
||||
|
||||
- **L2 Sequencer Performance**: Used by [Base](https://www.base.org/), other production L2s and also rollup-as-a-service providers such as [Conduit](https://conduit.xyz) which require high throughput and fast block times.
|
||||
- **MEV & Block Building**: [rbuilder](https://github.com/flashbots/rbuilder) is an open-source implementation of a block builder built on Reth due to developer friendless and blazing fast performance.
|
||||
- **MEV & Block Building**: [rbuilder](https://github.com/flashbots/rbuilder) is an open-source implementation of a block builder built on Reth due to developer friendliness and blazing fast performance.
|
||||
|
||||
## Infinitely Customizable
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ description: Trace API for inspecting Ethereum state and transactions.
|
||||
|
||||
The `trace` API provides several methods to inspect the Ethereum state, including Parity-style traces.
|
||||
|
||||
A similar module exists (with other debug functions) with Geth-style traces ([`debug`](/jsonrpc/debug)).
|
||||
A similar module exists (with other debug functions) with Geth-style traces ([`debug`](https://github.com/paradigmxyz/reth/blob/main/docs/vocs/docs/pages/jsonrpc/debug.mdx)).
|
||||
|
||||
The `trace` API gives deeper insight into transaction processing.
|
||||
|
||||
@@ -176,9 +176,9 @@ The second parameter is an array of one or more trace types (`vmTrace`, `trace`,
|
||||
|
||||
The third and optional parameter is a block number, block hash, or a block tag (`latest`, `finalized`, `safe`, `earliest`, `pending`).
|
||||
|
||||
| Client | Method invocation |
|
||||
| ------ | --------------------------------------------------------- |
|
||||
| RPC | `{"method": "trace_call", "params": [tx, type[], block]}` |
|
||||
| Client | Method invocation |
|
||||
| ------ | -------------------------------------------------------------- |
|
||||
| RPC | `{"method": "trace_callMany", "params": [trace[], block]}` |
|
||||
|
||||
### Example
|
||||
|
||||
@@ -284,8 +284,8 @@ The second and optional parameter is a block number, block hash, or a block tag
|
||||
|
||||
Traces a call to `eth_sendRawTransaction` without making the call, returning the traces.
|
||||
|
||||
| Client | Method invocation |
|
||||
| ------ | ---------------------------------------------------------------- |
|
||||
| Client | Method invocation |
|
||||
| ------ | --------------------------------------------------------------------- |
|
||||
| RPC | `{"method": "trace_rawTransaction", "params": [raw_tx, type[]]}` |
|
||||
|
||||
### Example
|
||||
|
||||
@@ -77,7 +77,7 @@ Once you're synced to the tip you will need a reliable connection, especially if
|
||||
|
||||
### Build your own
|
||||
|
||||
- Storage: Consult the [Great and less great SSDs for Ethereum nodes](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) gist. The Seagate Firecuda 530 and WD Black SN850(X) are popular TLC NVMEe options. Ensure proper cooling via heatsinks or active fans.
|
||||
- Storage: Consult the [Great and less great SSDs for Ethereum nodes](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) gist. The Seagate Firecuda 530 and WD Black SN850(X) are popular TLC NVMe options. Ensure proper cooling via heatsinks or active fans.
|
||||
- CPU: AMD Ryzen 5000/7000/9000 series, AMD EPYC 4004/4005 or Intel Core i5/i7 (11th gen or newer) with at least 6 cores. The AMD Ryzen 9000 series and the AMD EPYC 4005 series offer good value.
|
||||
- Memory: 32GB DDR4 or DDR5 (ECC if your motherboard & CPU supports it).
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ The network stack implements the Ethereum Wire Protocol (ETH) and provides:
|
||||
- Connection management with configurable peer limits
|
||||
- Transaction propagation
|
||||
- State synchronization
|
||||
- Request/response protocols (e.g. GetBHeaders, GetBodies)
|
||||
- Request/response protocols (e.g. GetBlockHeaders, GetBodies)
|
||||
|
||||
## Architecture
|
||||
|
||||
|
||||
Reference in New Issue
Block a user