Mining pool node
A mining pool runs pool software between its miners and one or more core-geth nodes. The node builds blocks and hands out work over JSON-RPC. The pool software splits that work among its miners, checks their shares, and submits solutions back to the node. This page covers the node side.
Start the node¶
1 2 | |
--miner.etherbaseis the pool’s reward address.--minewith the default--miner.threads 0builds work without mining on the CPU.- The pool software calls
eth_getWorkfor work andeth_submitWorkwith each solution.
Anyone who can reach the HTTP endpoint can request work and submit results, so keep it reachable only by the pool software: RPC exposure.
Get new work to the pool quickly¶
--miner.notify http://127.0.0.1:<port>/makes the node post each new work package to the pool software as soon as it has one, instead of waiting to be polled. Separate several URLs with commas.--miner.notify.fullsends the pending block’s header instead of a work package, for pool software that expects it. Set it on the command line: the config file’sNotifyFullkey is not read.--miner.recommit, 2s by default, is how often the node rebuilds the block template to take in new transactions.
Stay connected¶
A pool node that falls behind builds work on an old head, and its miners’ solutions go stale.
- Keep the p2p port open on TCP and UDP: Ports and listeners.
- Peer the pool’s nodes with each other and with nodes you trust: Static and trusted peers.
- Keep the clock synchronized: Clock.
- Alert when the peer count drops or the head stops advancing: Monitoring.
Run more than one node¶
Run at least two nodes on separate hosts and point the pool software at both, so a restart or an upgrade does not stop the pool. Keep them on the same release and the same MESS setting, so they agree on the chain during a deep reorganization.
Before the pool pays out¶
Payouts are only as final as the blocks behind them. Wait for enough confirmations before crediting miners. The MESS confirmation calculator shows how much hashrate it takes to reorganize a block of a given age on nodes that run MESS.