Skip to content

Commit 6b5b6f7

Browse files
shekhirinonbjergrkrasiukjoshieDomattsse
authored
Breaking changes (#5191)
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com> Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com> Co-authored-by: joshieDo <ranriver@protonmail.com> Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me> Co-authored-by: Thomas Coratger <thomas.coratger@gmail.com>
1 parent 025fa5f commit 6b5b6f7

File tree

252 files changed

+10142
-6315
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

252 files changed

+10142
-6315
lines changed

.config/nextest.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ slow-timeout = { period = "30s", terminate-after = 4 }
44

55
[[profile.default.overrides]]
66
filter = "test(general_state_tests)"
7-
slow-timeout = { period = "1m", terminate-after = 4 }
7+
slow-timeout = { period = "1m", terminate-after = 10 }

CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ crates/metrics @onbjerg
1919
crates/tracing @onbjerg
2020
crates/tasks @mattsse
2121
crates/prune @shekhirin @joshieDo
22-
crates/snapshot @joshieDo
22+
crates/static-file @joshieDo @shekhirin
2323
.github/ @onbjerg @gakonst @DaniPopes

Cargo.lock

+66-34
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ members = [
88
"crates/consensus/beacon-core/",
99
"crates/consensus/common/",
1010
"crates/ethereum-forks/",
11+
"crates/etl",
1112
"crates/interfaces/",
1213
"crates/metrics/",
1314
"crates/metrics/metrics-derive/",
@@ -41,8 +42,8 @@ members = [
4142
"crates/node-optimism/",
4243
"crates/node-core/",
4344
"crates/node-api/",
44-
"crates/snapshot/",
4545
"crates/stages/",
46+
"crates/static-file/",
4647
"crates/storage/codecs/",
4748
"crates/storage/codecs/derive/",
4849
"crates/storage/db/",
@@ -137,6 +138,7 @@ reth-ecies = { path = "crates/net/ecies" }
137138
reth-eth-wire = { path = "crates/net/eth-wire" }
138139
reth-ethereum-forks = { path = "crates/ethereum-forks" }
139140
reth-ethereum-payload-builder = { path = "crates/payload/ethereum" }
141+
reth-etl = { path = "crates/etl" }
140142
reth-optimism-payload-builder = { path = "crates/payload/optimism" }
141143
reth-interfaces = { path = "crates/interfaces" }
142144
reth-ipc = { path = "crates/rpc/ipc" }
@@ -162,8 +164,8 @@ reth-rpc-builder = { path = "crates/rpc/rpc-builder" }
162164
reth-rpc-engine-api = { path = "crates/rpc/rpc-engine-api" }
163165
reth-rpc-types = { path = "crates/rpc/rpc-types" }
164166
reth-rpc-types-compat = { path = "crates/rpc/rpc-types-compat" }
165-
reth-snapshot = { path = "crates/snapshot" }
166167
reth-stages = { path = "crates/stages" }
168+
reth-static-file = { path = "crates/static-file" }
167169
reth-tasks = { path = "crates/tasks" }
168170
reth-tokio-util = { path = "crates/tokio-util" }
169171
reth-tracing = { path = "crates/tracing" }

README.md

+16-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# reth
1+
# reth
22

33
[![CI status](https://github.com/paradigmxyz/reth/workflows/ci/badge.svg)][gh-ci]
44
[![cargo-deny status](https://github.com/paradigmxyz/reth/workflows/deny/badge.svg)][gh-deny]
@@ -14,7 +14,7 @@
1414
| [Developer Docs](./docs)
1515
| [Crate Docs](https://paradigmxyz.github.io/reth/docs)
1616

17-
*The project is still work in progress, see the [disclaimer below](#status).*
17+
_The project is still work in progress, see the [disclaimer below](#status)._
1818

1919
[codecov]: https://app.codecov.io/gh/paradigmxyz/reth
2020
[gh-ci]: https://github.com/paradigmxyz/reth/actions/workflows/ci.yml
@@ -50,6 +50,14 @@ We will be updating the documentation with the completion status of each compone
5050

5151
We appreciate your patience until we get there. Until then, we are happy to answer all questions in the Telegram link above.
5252

53+
### Database compatibility
54+
55+
Reth [v0.2.0-beta.1](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.1) includes
56+
a [set of breaking database changes](https://github.com/paradigmxyz/reth/pull/5191) that makes it impossible to use database files produced by earlier versions.
57+
58+
If you had a database produced by alpha versions of Reth, you need to drop it with `reth db drop`
59+
(using the same arguments such as `--config` or `--datadir` that you passed to `reth node`), and resync using the same `reth node` command you've used before.
60+
5361
## For Users
5462

5563
See the [Reth Book](https://paradigmxyz.github.io/reth) for instructions on how to install and run Reth.
@@ -105,15 +113,15 @@ cargo test --workspace --features geth-tests
105113
# With Ethereum Foundation tests
106114
#
107115
# Note: Requires cloning https://github.com/ethereum/tests
108-
#
116+
#
109117
# cd testing/ef-tests && git clone https://github.com/ethereum/tests ethereum-tests
110118
cargo test -p ef-tests --features ef-tests
111119
```
112120

113121
We recommend using [`cargo nextest`](https://nexte.st/) to speed up testing. With nextest installed, simply substitute `cargo test` with `cargo nextest run`.
114122

115123
> **Note**
116-
>
124+
>
117125
> Some tests use random number generators to generate test data. If you want to use a deterministic seed, you can set the `SEED` environment variable.
118126
119127
## Getting Help
@@ -135,9 +143,10 @@ See [`SECURITY.md`](./SECURITY.md).
135143
Reth is a new implementation of the Ethereum protocol. In the process of developing the node we investigated the design decisions other nodes have made to understand what is done well, what is not, and where we can improve the status quo.
136144

137145
None of this would have been possible without them, so big shoutout to the teams below:
138-
* [Geth](https://github.com/ethereum/go-ethereum/): We would like to express our heartfelt gratitude to the go-ethereum team for their outstanding contributions to Ethereum over the years. Their tireless efforts and dedication have helped to shape the Ethereum ecosystem and make it the vibrant and innovative community it is today. Thank you for your hard work and commitment to the project.
139-
* [Erigon](https://github.com/ledgerwatch/erigon) (fka Turbo-Geth): Erigon pioneered the ["Staged Sync" architecture](https://erigon.substack.com/p/erigon-stage-sync-and-control-flows) that Reth is using, as well as [introduced MDBX](https://github.com/ledgerwatch/erigon/wiki/Choice-of-storage-engine) as the database of choice. We thank Erigon for pushing the state of the art research on the performance limits of Ethereum nodes.
140-
* [Akula](https://github.com/akula-bft/akula/): Reth uses forks of the Apache versions of Akula's [MDBX Bindings](https://github.com/paradigmxyz/reth/pull/132), [FastRLP](https://github.com/paradigmxyz/reth/pull/63) and [ECIES](https://github.com/paradigmxyz/reth/pull/80) . Given that these packages were already released under the Apache License, and they implement standardized solutions, we decided not to reimplement them to iterate faster. We thank the Akula team for their contributions to the Rust Ethereum ecosystem and for publishing these packages.
146+
147+
- [Geth](https://github.com/ethereum/go-ethereum/): We would like to express our heartfelt gratitude to the go-ethereum team for their outstanding contributions to Ethereum over the years. Their tireless efforts and dedication have helped to shape the Ethereum ecosystem and make it the vibrant and innovative community it is today. Thank you for your hard work and commitment to the project.
148+
- [Erigon](https://github.com/ledgerwatch/erigon) (fka Turbo-Geth): Erigon pioneered the ["Staged Sync" architecture](https://erigon.substack.com/p/erigon-stage-sync-and-control-flows) that Reth is using, as well as [introduced MDBX](https://github.com/ledgerwatch/erigon/wiki/Choice-of-storage-engine) as the database of choice. We thank Erigon for pushing the state of the art research on the performance limits of Ethereum nodes.
149+
- [Akula](https://github.com/akula-bft/akula/): Reth uses forks of the Apache versions of Akula's [MDBX Bindings](https://github.com/paradigmxyz/reth/pull/132), [FastRLP](https://github.com/paradigmxyz/reth/pull/63) and [ECIES](https://github.com/paradigmxyz/reth/pull/80) . Given that these packages were already released under the Apache License, and they implement standardized solutions, we decided not to reimplement them to iterate faster. We thank the Akula team for their contributions to the Rust Ethereum ecosystem and for publishing these packages.
141150

142151
[book]: https://paradigmxyz.github.io/reth/
143152
[tg-url]: https://t.me/paradigm_reth

bin/reth/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ reth-payload-validator.workspace = true
5050
reth-basic-payload-builder.workspace = true
5151
reth-discv4.workspace = true
5252
reth-prune.workspace = true
53-
reth-snapshot = { workspace = true, features = ["clap"] }
53+
reth-static-file = { workspace = true, features = ["clap"] }
5454
reth-trie.workspace = true
5555
reth-nippy-jar.workspace = true
5656
reth-node-api.workspace = true

0 commit comments

Comments
 (0)