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

Contributing

Both projects live under the ethswarm-tools GitHub org.

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 mirroring bee-check-web onto 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.