Repository navigation
c2pool v0.2.12.6
c2pool v0.2.12.6
Share-chain fix for LTC and DASH on top of v0.2.12.5. Recommended for every LTC and DASH node, one node at a time. BTC, DGB, BCH and BIP-110 nodes are unchanged.
A share that finds a block wins its head race
When two shares build on the same parent at about the same time, the node picks one of them to build on. p2pool gives the share that solved a block one share of extra weight, so it wins against an equal-work sibling, and even against a branch one share longer. c2pool did not, and picked between same-second siblings arbitrarily. A block-solving share could therefore end up off the best share chain. The block itself was still on the coin chain and nothing was lost, but its finder lost one share of payout weight, and the dashboards disagreed about the block count.
Now:
- A block-solving share gets the same extra share of weight as in p2pool. If everything else ties, the larger share hash wins, again as in p2pool.
- The extra weight is given only if the share's block target is the network's real target for its parent block, and that parent is within 6 blocks of the node's own chain tip. A share that claims an easier target than the network's gets no extra weight.
- LTC: only LTC block solutions count, as in p2pool; a share that solved only a DOGE block gets no extra weight. An LTC node running with
--no-embedded-ltc(on litecoind) gives no extra weight and behaves as before.
This changes only which of the already-valid shares a node builds on. Share validation, payouts and the network protocol are unchanged, and nodes on older versions stay on the same share chain.
Dashboard
- "Blocks in Window" also counts blocks whose share lost the head race, listed separately, so it matches the block chart.
- DASH: share-version labels follow the live share version.
Everything else
Everything in v0.2.12.5 applies. See the v0.2.12.5 notes.
Known issue
-
--soloand--custodialremain disabled. -
Linux: run the node with the package's
lib/folder. The Linux binaries load libraries shipped in the package'slib/folder (libsecp256k1, and for DASH alsolibgmpandlibdash_scriptcheck).start.shsets this up. If you start the binary directly, from your own script or a systemd unit, it can stop at once witherror while loading shared libraries: libsecp256k1.so.6: cannot open shared object file. Whichlibsecp256k1version a package needs can change between releases: the LTC, DASH and BIP-110 packages of this release needlibsecp256k1.so.6, which most systems do not have. The DASH package always needslib/. To fix it, unpack the whole package and run the node throughstart.sh, or point the loader atlib/:cd c2pool-<coin>-<version>-linux-x86_64 LD_LIBRARY_PATH="$PWD/lib" ./c2pool-<coin> <your options>For a systemd unit, add
Environment=LD_LIBRARY_PATH=/path/to/c2pool-<coin>-<version>-linux-x86_64/lib. If you upgrade by copying only the binary, copylib/too. A later release findslib/without this step.
Verify the download
SHA256SUMS is signed with key 99556F8DE6AD66057A1A10EC50AB1379285EFE76:
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS