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)
| File | Size | Uploaded | |
|---|---|---|---|
| bit_byte_block-0.1.1.tar.gz | 21.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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