Skip to content

Commit

Permalink
feat(tests): add geth interop integration tests
Browse files Browse the repository at this point in the history
 * add CliqueGethBuilder and CliqueGethInstance for configuring a geth
   instance with Clique consensus, enabling clique block production, and
   funding accounts at genesis
 * add RethTestInstance and an associated builder which are used to
   configure reth and start its pipeline for tests
 * pull StageConfig from the reth cli - this is duplication and might be
   worth moving
 * add a test for generating clique blocks with geth, adding geth as an
   outbound peer from reth, and starting the reth pipeline to sync
  • Loading branch information
Rjected committed Jan 18, 2023
1 parent 9a2f265 commit 82601c8
Show file tree
Hide file tree
Showing 8 changed files with 1,200 additions and 217 deletions.
473 changes: 256 additions & 217 deletions Cargo.lock

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ members = [
"crates/storage/provider",
"crates/tracing",
"crates/tasks",
"crates/tests",
"crates/transaction-pool",
"crates/metrics/metrics-derive",
"crates/metrics/common",
Expand Down
57 changes: 57 additions & 0 deletions crates/tests/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
[package]
name = "reth-tests"
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
repository = "https://github.com/paradigmxyz/reth"
readme = "README.md"
description = """
Reth integration tests
"""

[dependencies]
# reth
reth-primitives = { path = "../primitives" }
reth-tracing = { path = "../tracing" }
reth-stages = { path = "../stages" }
reth-db = { path = "../storage/db" }
reth-consensus = { path = "../consensus" }
reth-cli-utils = { path = "../cli/utils" }
reth-interfaces = { path = "../interfaces" }
reth-downloaders = { path = "../net/downloaders" }
reth-network = { path = "../net/network", features = ["test-utils"] }
reth-eth-wire = { path = "../net/eth-wire" }
reth-executor = { path = "../executor" }
reth-provider = { path = "../storage/provider"}

# ethers
ethers-core = { git = "https://github.com/gakonst/ethers-rs", default-features = false }
ethers-providers = { git = "https://github.com/gakonst/ethers-rs", features = ["ws"], default-features = false }
ethers-signers = { git = "https://github.com/gakonst/ethers-rs", default-features = false }
ethers-middleware = { git = "https://github.com/gakonst/ethers-rs", default-features = false }

# enr
enr = { version = "0.7.0", features = ["serde", "rust-secp256k1"] }

# crypto
rand = "0.8"
secp256k1 = { version = "0.24", features = [
"global-context",
"rand-std",
"recovery",
] }

# errors
thiserror = "1.0.37"

# async/futures
futures = "0.3"
tokio = { version = "1", features = ["io-util", "net", "macros", "rt-multi-thread", "time"] }
tokio-stream = "0.1"

# tracing
tracing = "0.1"

# misc
hex = "0.4"
tempfile = "3.3"

0 comments on commit 82601c8

Please sign in to comment.