Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,21 @@ builds:
- SUPERBANK_GIT_SHA={{ .Commit }}
- RUSTFLAGS=-C force-frame-pointers=yes

- id: superbank-verify
builder: rust
command: zigbuild
binary: superbank-verify
targets:
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-gnu
flags:
- --release
- --locked
- --package=superbank-verify
- --bin=superbank-verify
env:
- SUPERBANK_GIT_SHA={{ .Commit }}

archives:
- id: superbank
ids: [superbank]
Expand All @@ -48,6 +63,12 @@ archives:
formats: [tar.gz]
files: []

- id: superbank-verify
ids: [superbank-verify]
name_template: superbank-verify-{{ .Tag }}-{{ .Os }}-{{ .Arch }}
formats: [tar.gz]
files: []

checksum:
name_template: SHA256SUMS.txt

Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Repository Guidelines

## Project Structure & Module Organization
- Rust workspace (root `Cargo.toml`): `superbank-workspace`, `crates/superbank/` (ingestor), and `crates/superbank-rpc/` (JSON-RPC server; bin: `superbank-rpc`).
- Rust workspace (root `Cargo.toml`): `superbank-workspace`, `crates/superbank/` (ingestor), `crates/superbank-rpc/` (JSON-RPC server; bin: `superbank-rpc`), and `crates/superbank-verify/` (Proof-of-History validator).
- ClickHouse DDL: `ddl/`
- Load tests: `tests/k6/`
- Helper scripts: `scripts/`
Expand All @@ -13,7 +13,7 @@ Config lives in `superbank.example.yaml`; copy to `superbank.yaml` for local run

## Build, Test, and Development Commands
- Build (release):
`cargo build --release -p superbank -p superbank-rpc`
`cargo build --release -p superbank -p superbank-rpc -p superbank-verify`
- Run ingestor with local config:
`cargo run -p superbank -- --config superbank.yaml`
- Run RPC server (local ClickHouse):
Expand Down
7 changes: 4 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ Superbank is a Rust workspace that ingests Solana ledger data into ClickHouse an
Source [Fumarole / gRPC / RPC / Bigtable] --> superbank (ingestor) --> ClickHouse --> superbank-rpc (JSON-RPC + optional gRPC server)
```

Two main crates in the workspace:
Three crates in the workspace:
- **`crates/superbank`** — Ingestor binary. Pulls Solana data from Yellowstone Fumarole, Yellowstone gRPC (DragonsMouth), Solana JSON-RPC (`getBlock`), or Solana Bigtable and writes to ClickHouse.
- **`crates/superbank-rpc`** — Axum-based JSON-RPC server. Reads from ClickHouse and serves Solana-compatible RPC. Has optional `grpc-head-cache`, `disk-cache`, `grpc-streaming`, and `pyroscope` features.
- **`crates/superbank-verify`** — Proof-of-History validator. Recomputes the PoH hash chain (or cheap structural invariants) from the stored `blocks_metadata`/`entries`/`transactions` tables for genesis-to-tip or arbitrary slot/epoch ranges.

Other key paths:
- `ddl/` — ClickHouse schemas (local, cluster, replicated variants)
Expand All @@ -25,8 +26,8 @@ Other key paths:
## Build & Development Commands

```bash
# Build both crates
cargo build -p superbank -p superbank-rpc
# Build the workspace binaries
cargo build -p superbank -p superbank-rpc -p superbank-verify

# Run ingestor
cargo run -p superbank -- --config superbank.yaml
Expand Down
Loading
Loading