Run your own Hacash mining pool
HBIT is a PPLNS payout pool for Hacash. It runs beside your own full node on a VPS or a mini PC. This page is the short path from a bare machine to a pool that pays miners.
Before you start
A pool holds other people's money. Everything below is written on that assumption, and the software refuses to start rather than guess when something important is missing.
Three things you must have. A machine that stays on, with more than 10 GB free. A Hacash address you control. A passphrase you have written down somewhere physical. Nothing here supplies a default for any of them, because a default address pays a stranger and a default passphrase protects nobody.
1. Download
Get the Linux package from the latest release:
curl -LO https://github.com/Moskyera/fullnodedev/releases/latest/download/hbit-pool-linux-x86_64.tar.gz
Verify it before running it. Every release is signed by GitHub with build provenance, and this is the only check that detects tampering:
gh attestation verify hbit-pool-linux-x86_64.tar.gz --repo Moskyera/fullnodedev
If that fails, delete the file. The .sha256 beside it only catches
a truncated download; it comes from the same place as the archive, so a matching
checksum is not proof the file is genuine.
tar -xzf hbit-pool-linux-x86_64.tar.gz
cd hbit-pool-linux-x86_64
2. What is in the box
| File | What it is |
|---|---|
hacash | The full node. The pool cannot work without one. |
hbit-pool-server | The pool: serves work, counts shares, pays out. |
hbit-pool-payout | Manual payout tool, for when you need it. |
SETUP-POOL.sh | Checks the machine and tells you what is missing. |
systemd/ | Unit files, to run both as services. |
POOL-OPERATOR.md | The long version. Read it before real money. |
No wallet, no config and no address ship inside. You supply all three.
3. Set your address
cp hacash.config.ini.example hacash.config.ini
nano hacash.config.ini # put YOUR mainnet address in [miner] reward
Type your own address. There is no default and there never will be one. An address you did not type yourself would receive block rewards permanently, with no error and no way to get them back.
4. Run the check
export HBIT_WALLET_PASSWORD='a long passphrase you have written down'
./SETUP-POOL.sh
It refuses to continue while the reward address is empty, while
fast_sync is on, while there is no passphrase, or while the disk is
too small. Each refusal says what it costs you to ignore it. Nothing starts until
they all pass.
5. Sync the node, then start the pool
In that order, and the order matters more than it looks.
./hacash
Wait for all blocks sync finished and for the height to stop
jumping. From another terminal you can block until it is ready:
./hbit-wait-for-node.sh http://127.0.0.1:8080 0
Do not start the pool early. A node part way through the chain serves work for blocks the network settled years ago. Every share is worthless, and it does not look wrong: down at low heights each hash costs a fraction of normal, so the miners connected to you report a higher hashrate than usual. It reads as success while nobody earns anything.
Once the node is at the tip:
./hbit-pool-server http://127.0.0.1:8080 pool-wallet.key 0.0.0.0:9777 20 mainnet 300
The 20 is share_bits: how many powers of two easier a
share is than a block. Lower makes shares harder and the payout window cover more
time. The pool refuses a value that would make a share cost less than 216
hashes, and the refusal names the number that would work.
6. Back up the two files that matter
pool-wallet.key # the money
pool-wallet.key.state.json # the record of who is owed what
Copy both somewhere that is not this machine. If you lose them, nobody can recover them: not the author of this software, not a support address, not the network.
Miners connect like this
Anyone with the Hacash miner points it at your address and port. In the miner
panel that is Pool (RPC) plus your-host:9777, with their own
Hacash address as the worker.
What the pool promises
- PPLNS over the last 4096 shares, pool-wide, no rounds.
- No fee, unless you change it.
- Block income payable 16 blocks after the pool finds it.
- Minimum payout 0.1 HAC.
The running pool serves those terms at /terms, so a miner never has
to take your word for them.