finds.dev← search

// the find

ethersphere/bee

★ 1,481 · Go · BSD-3-Clause · updated Jul 2026

Bee is a Swarm client implemented in Go. It’s the basic building block for the Swarm network: a private; decentralized; and self-sustaining network for permissionless publishing and access to your (application) data.

Bee is the official Go implementation of an Ethereum Swarm node — a peer-to-peer network for decentralized content-addressed storage. You run a node, buy postage stamps with BZZ tokens, upload chunks, and the network handles routing and incentives. It's aimed at developers building censorship-resistant storage into apps, not at people who want a drop-in S3 replacement.

The BMT (Binary Merkle Tree) hashing has both a goroutine path and a SIMD-optimized path (pkg/bmt/dispatch_simd.go vs dispatch_other.go) — they actually benchmarked and optimized the hot path. Package boundaries are genuinely clean: accounting, crypto, feeds, file pipeline, and p2p are all separate packages with their own interfaces and mocks, making the codebase navigable for something this complex. The file pipeline (pkg/file/pipeline/) supports encryption, redundancy levels, and hash-trie chunking as composable stages rather than one monolithic upload function. Full OpenAPI spec in openapi/Swarm.yaml means the HTTP API is machine-readable and versioned independently from the node binary.

Running a node requires a funded Ethereum wallet and BZZ tokens before you can store anything — the operational and financial setup is a non-trivial barrier and the disclaimer about 'damage to hardware or loss of funds' is not just legal boilerplate. The main versioning scheme explicitly breaks semver: minor version bumps can include breaking changes, which is a nasty surprise if you depend on this as a library. The README is nearly empty — all actual documentation lives at docs.ethswarm.org, so the repo is unusable in isolation and you're one broken external link away from nothing. Stored data availability depends on postage stamps not expiring and the economic incentive layer staying solvent, which means data can silently become unreachable through no action of yours.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →