Skip to main content

bit-byte-block

Local Bitcoin mining ingress and monitoring for solo.ckpool.org.

bit-byte-block runs a lightweight Stratum TCP proxy on your local network so ASIC miners can point at one stable LAN endpoint while the proxy forwards their traffic upstream to Solo CKPool. The initial scope is intentionally small: transport relay, upstream failover, and pool-status inspection.

Why This Repo Exists

  • Keep miner configuration pointed at one local host instead of hard-coding the public pool hostname into every device.
  • Centralize upstream defaults for Solo CKPool.
  • Provide a small place to grow local operational tooling without bundling pool software or ASIC-specific firmware.

Upstream Defaults

Solo CKPool documents these defaults on the public pool homepage:

  • Primary host: solo.ckpool.org
  • Standard port: 3333
  • High-difficulty rentals port: 4334
  • Username format: BTC_ADDRESS.worker
  • Password: ignored by the pool

Regional notes from the same upstream:

  • Europe and Africa: eusolo.ckpool.org
  • Oceania: ausolo.ckpool.org
  • IPv4-only: solo4.ckpool.org
  • IPv6-only: solo6.ckpool.org

Install On Fedora

An RPM with a ready-to-enable systemd service is built from each release:

sudo dnf copr enable casonk/tools
sudo dnf install bit-byte-block
sudo systemctl enable --now bit-byte-block

Settings live in /etc/bit-byte-block/bit-byte-block.env. See packaging/README.md for firewalld, local builds, and releases.

Quick Start

./bootstrap.sh
bash scripts/run_proxy.sh

bootstrap.sh creates .venv, installs the package in editable mode, verifies the bit-byte-block command runs, and seeds config/bit-byte-block.env from the example if you do not already have one. An existing config is never overwritten.

Use ./bootstrap.sh --no-dev to skip the test and lint dependencies, or ./bootstrap.sh --venv PATH to build the environment elsewhere.

Why not pip install -e ".[dev]" directly?

Since PEP 668, Debian, Ubuntu, Arch and openSUSE mark the system Python as externally managed, and pip refuses to install into it:

error: externally-managed-environment

Fedora still allows it, which is why the old instruction worked on some machines and not others. Installing into a virtualenv is correct on all of them, and on macOS and Windows too.

The wrapper script loads config/bit-byte-block.env if present, then starts the proxy. Point miners at the host running this repo, for example:

  • Pool host: 192.168.1.50
  • Pool port: 3333
  • Username: YOUR_BTC_ADDRESS.s19-01
  • Password: x

CLI

# Start the local proxy with env-file defaults
python3 -m bit_byte_block proxy --env-file config/bit-byte-block.env

# Show the upstream pool-status snapshot
python3 -m bit_byte_block status --env-file config/bit-byte-block.env

The status command fetches the public status document exposed by the upstream pool and prints a compact summary of connected workers, hashrate windows, share counts, and best share.

Local Validation

pre-commit run --all-files
pytest -q

Contributing

See CONTRIBUTING.md.

License

MIT. See LICENSE.

Metadata

Release files for bit-byte-block 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bit-byte-block 0.1.1
File Size Uploaded
bit_byte_block-0.1.1.tar.gz 21.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bit-byte-block 0.1.1
File Interpreter ABI Platform
bit_byte_block-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 39.6 kB

Release files / bit_byte_block-0.1.1.tar.gz

Download URL bit_byte_block-0.1.1.tar.gz
Size 21.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5dd77a8ccfa29171aeedadfad8532ca2e133acfff35e8346e7871c2175d40179
BLAKE2b-256 checksum
How to use checksums
8768c98c8fe81c29d964d02787fdf8fcd382c5ca4ecf2a91bf65326620f0c429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / bit_byte_block-0.1.1-py3-none-any.whl

Download URL bit_byte_block-0.1.1-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
de4cf85f28acf3f0dc0bc43933d7bff68168e44cdfc856c2e2b79f40c618a807
BLAKE2b-256 checksum
How to use checksums
69e33810dcf3806009628e8e47bdeb2ef1e577ab8bc518b977105b33a7c8a7e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page