npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ethersphere/bee-factory

v1.1.1

Published

Local Ethereum Swarm development stack

Downloads

630

Readme

bee-factory

Local Ethereum Swarm development stack — 5 Bee nodes + Anvil blockchain, fully wired up in one command.

Requirements

  • Node.js ≥ 18
  • Docker

Install

npm install -g @ethersphere/bee-factory

Usage

bee-factory start               # Start the stack (uses bundled snapshot for fast boot)
bee-factory start --fresh       # Redeploy contracts from scratch, save new snapshot
bee-factory start --tag v2.7.1  # Build Bee from a specific git ref (default: master)

bee-factory stop                # Stop and remove all containers

Endpoints

| Node | API | P2P | |---------|------------------------|------------------------| | Queen | http://localhost:1633 | http://localhost:1634 | | Worker 1 | http://localhost:1635 | http://localhost:1636 | | Worker 2 | http://localhost:1637 | http://localhost:1638 | | Worker 3 | http://localhost:1639 | http://localhost:1640 | | Worker 4 | http://localhost:1641 | http://localhost:1642 |

Anvil RPC: http://localhost:8545 (chain ID 1337)

Deployed contracts

| Contract | Role | |---|---| | BzzToken | ERC-20 BZZ token | | PostageStamp | Postage stamp management | | PriceOracle | Postage pricing | | StakeRegistry | Node staking | | Redistribution | Stake redistribution | | SimpleSwapFactory | Swap contract factory | | SwapPriceOracle | Swap pricing oracle |

Contract addresses are printed on startup.

Pre-wired state

After all nodes are up, bee-factory performs two extra setup steps so the stack is ready for common Swarm development scenarios:

Cheque / SWAP testing

Worker 1 (:1635) buys a postage batch and uploads random data in a loop until Worker 2 (:1637) has received at least one SWAP cheque from it. By the time bee-factory start finishes, :1637 already has a claimable cheque issued by :1635, so you can immediately exercise cheque cashing, balance queries, and SWAP accounting without having to generate traffic yourself.

Withdrawal address whitelist

All nodes are started with a single pre-whitelisted withdrawal address:

0xd238ff944bacb478cbed5efcae784d7bf4f2ff80

This lets you test both sides of the withdrawal API (exposed by every node):

  • Authorized withdrawal — call withdrawBZZ or withdrawNativeToken with the address above and the request goes through.
  • Unauthorized withdrawal — use any other address and Bee rejects it with HTTP 400 (provided address not whitelisted).

Reserve sampling / rchash

Once the cheque is in place, the chain is advanced by 160 blocks (more than one full redistribution round of 152 blocks). This moves the consensus timestamp forward so that the uploaded chunks are no longer considered "too new" by the reserve sampler. After a short wait for Bee nodes to catch up, rchash (reserve commitment hash) can be called successfully.

Node wallets

Foundry test keys — never use in production.

| Node | Address | Private Key | |------|---------|-------------| | bee-factory-bee-0 (queen) | 0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc | 0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba | | bee-factory-bee-1 (worker 1) | 0xc512CF05d75c4B4818a04d9c65B974168828764A | 0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec15649 | | bee-factory-bee-2 (worker 2) | 0x14dC79964da2C08b23698B3D3cc7Ca32193d9955 | 0x4bbbf85ce3377467afe5d46f804f221813b2bb87f24d81f60f1fcdbf7cbf4356 | | bee-factory-bee-3 (worker 3) | 0x92A6095F965d30afFCC9da457d8fDB44ccB98F92 | 0xdbda1821b80551c9d65939329250132c444d73f6a52f3fbdb50866273e8f41f1 | | bee-factory-bee-4 (worker 4) | 0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 | 0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 |

Notes

  • Each node is funded with 1 ETH and 100 BZZ.
  • Node password: bee-factory
  • Snapshots: --fresh redeploys contracts and saves a new snapshot; subsequent normal starts load from it instantly.
  • Uses Foundry test keys — never use in production.