OpenZeppelin / OpenZeppelin/Robust-Provider

Add Integration Tests with Real Ethereum Nodes

Open
#7 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

effort: XL 1 month priority: low type: test
Dominant language
Rust
Stars
6
Forks
4
Avg merge
15h 52m
Merged PRs (30d)
5

Description

Summary

Our test suite only uses Anvil, which doesn't accurately replicate real execution client behavior. As seen in Robust-Provider#6 there are non-trivial differences between Anvil and real clients (Geth, Nethermind, Reth, etc.) that cause production issues. We need integration tests against variety of real nodes for a stable release.

Problem

  • Anvil differs from production clients in WebSocket behavior, error responses, and RPC semantics
  • Bugs may slip through that would be caught with real client testing

Solution

Use ethereum-package via Kurtosis to spin up ephemeral Ethereum networks with real execution clients for integration testing.

Tasks
  • Add Kurtosis to CI pipeline
  • Create integration test suite (feature-gated, separate from unit tests)
  • Test against multiple clients: Geth, Nethermind, Reth
  • Cover key scenarios: subscriptions, reconnection, error handling
  • Run on merges to main and release branches (not every PR)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files or tests are named. Start by locating the CI configuration and the existing Anvil-backed tests, then review how integration tests are separated and feature-gated; done means Kurtosis can launch Geth, Nethermind, and Reth networks and merge/release runs cover subscriptions, reconnection, and error handling.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ci-cd, devops, distributed-systems, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.