Running it
A pool is just two binaries and a node.
Build from the protocol source tree (see run a node for cloning and prerequisites — the repository address is gitlab.com/blochsispow-group/BlochSISPoW-project, rendered as text because the ownerless protocol has no official site). You need a Bloch node with RPC enabled; the pool talks to it over getblocktemplate / submitblock / getblockhash and depends only on two lean protocol crates, not the full node.
cd pool
cargo build --release
cargo test
The pool daemon — every flag spelled out so you change it deliberately:
RUST_LOG=info bloch-pool \
--pool-address bloch1q... # required: where block rewards land
--node-rpc http://127.0.0.1:16210 \
--fee-bps 0 \ # pool fee in basis points; capped at 1000 (10%)
--share-bits 2100ffff \ # compact share difficulty (hex); fixed, no vardiff
--pplns-window 4096 \ # PPLNS window size, in shares
--confirm-depth 10 \ # blocks credit only once canonical at this depth
--journal bloch-pool.journal \ # JSONL ledger journal ("" = memory-only, testing)
--listen 0.0.0.0:3335 \ # miner-facing stratum
--dashboard 127.0.0.1:8650 \ # dashboard HTTP (keep it loopback or proxied)
--refresh-secs 5 \ # template poll interval (well under the 30 s block time)
--coinbase-tag bloch-pool-ref/v0.1
# --no-auth-proof # disable the address-ownership proof (not recommended)
And the reference miner, pointed at it:
bloch-pool-miner \
--address bloch1q... # required: your payout address
--auth-seed <hex 32B seed> \ # wallet seed controlling --address (signs the
# pool's ownership challenge; required unless the
# pool runs --no-auth-proof)
--auth-index 0 \ # optional: diversified-address index for the seed
--pool 127.0.0.1:3335 \
--max-shares 0 \ # exit after N accepted shares (0 = forever)
--burst 200000 # candidates per burst between socket polls
Note the default fee is 0% — the fee is an operator setting, not a project revenue stream. Consistent with everything else on this site: no revenue line of this project touches the token.