Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

RFC Index

GasHammer’s design is specified in 13 RFCs. These live in the rfcs/ directory and serve as the authoritative specification for each subsystem. When the implementation diverges from an RFC, the RFC is updated first.

RFCTitleScope
RFC-0001Nitro Integration SurfaceWire protocols, RPC methods, feed format, L1 contracts, precompiles
RFC-0002Technology StackLanguage (Rust), runtime (tokio), dependencies, build system
RFC-0003Hive Control PlaneREST API, gRPC service, edge registry, run orchestration
RFC-0004Edge RuntimeTx pipeline, feed correlator, heartbeat, shutdown
RFC-0005Workload EngineGas-first modeling, templates, account pool, PRNG
RFC-0006Telemetry PipelineEvent model, ring buffer, gRPC transport, Parquet storage
RFC-0007Correctness OracleInvariant framework, verdicts, evidence, live and post-run checks
RFC-0008Fault InjectionAdapter trait, netem, iptables, timeline, safety rails
RFC-0009Reporting EngineLatency analysis, capacity envelope, regression detection
RFC-0010Scenario Definition LanguageYAML schema, phases, templates, faults, oracle config
RFC-0011DNA & ProvenanceBinary canary, HTTP headers, calldata magic, error codes
RFC-0012Documentation EngineSource parser, mdBook generation, coverage metrics
RFC-0013E2E TestingTestcontainers, Nitro devnet, lifecycle tests, test contracts

Reading Order

For a new contributor, the recommended reading order is:

  1. RFC-0002 (Technology Stack) — understand the foundational choices.
  2. RFC-0001 (Nitro Integration Surface) — understand what GasHammer talks to.
  3. RFC-0003 and RFC-0004 (Hive + Edge) — understand the distributed architecture.
  4. RFC-0005 (Workload Engine) — understand gas-first modeling.
  5. RFC-0011 (DNA & Provenance) — understand the attribution markers.
  6. Remaining RFCs as needed for the subsystem you are working on.

RFC Conventions

  • RFCs are numbered sequentially: RFC-NNNN.
  • Each RFC has: title, status, author, date, and numbered sections.
  • Section references use § notation: “RFC-0008 §3.2”.
  • RFCs are living documents — update them when the implementation evolves.
  • If a design decision is significant and not covered by an existing RFC, write a new one.