Contributing
Both projects live under the ethswarm-tools
GitHub org.
- CLI:
ethswarm-tools/bee-check - SPA:
ethswarm-tools/bee-check-web - Book: this directory (
bee-check/book/) — edit links at the bottom of each page take you to the source.
What’s interesting to work on
- ENS resolution — the biggest deferred feature. Needs an Ethereum JSON-RPC client + namehash + a call to the ENS resolver contract. Applies to both CLI and SPA. ~300 LOC + a JSON-RPC dep on the Rust side.
- Cold-content download probe — currently we probe stewardship
and per-chunk; a
/bytes/{ref}end-to-end download would round out the retrievability story for non-manifest content. bzz.link/ Swarm-hosted SPA — dogfood the deployment by mirroringbee-check-webonto Swarm itself.
Report shape changes
The spec_version: 1 JSON shape is defined in
SPEC.md
in the CLI repo. Both surfaces (CLI’s Report Rust struct and the
SPA’s TS types) implement that shape — keep them in sync.
- New fields = additive, no version bump. Consumers must ignore unknown fields.
- Renames or removals bump
spec_version.
Local development
CLI:
cargo run -- <ref> --bee http://localhost:1633
cargo test
SPA:
cd bee-check-web
npm install
npm run dev # http://localhost:5173/bee-check-web/
npm run check # svelte-check
npm run build
Book:
cd bee-check/book
mdbook serve --open # http://localhost:3000
mdbook build # static output in book/book/
Release process
CLI: tag vX.Y.Z, push — cargo-dist builds and uploads prebuilt
binaries; cargo publish for crates.io.
SPA: bump package.json, commit, push to main — GH Pages workflow
deploys automatically. Tag vX.Y.Z and gh release create for a
named release.
Book: edits to book/** trigger the book deploy workflow on push
to main.