BTCPool v2.3.2: Delay the Ethereum Constantinople Hardfork
BTCPool v2.3.2 is a release that delay the Constantinople hard fork on Ethereum mainnet.
We change the default fork height to a height that will not be reached in the near future (9999999).
The user can change the height in the configuration file after the fork height is determined.
Configure the fork height
slparser.cfg
sharelog = {
// ...
constantinople_height = 9999999;
};
blkmaker.cfg
blk_makers = (
{
// ...
constantinople_height = 9999999;
}
);
What happened for the hard fork?
About the Hardfork (the old information)
The block reward in Ethereum mainnet reduced from 3 ETH to 2 ETH. In order to apply this change, you need to upgrade your slparser and blkmaker. Then, you have to upgrade all your Ethereum nodes.
IMPORTANT: We changed the format of sharelog file (from plain structure to ProtoBuf). Please follow these suggestions to upgrade your sharelogger and slparser.
Recommended GETH Ethereum node for the hardfork:
https://github.com/btccom/btcpool/tree/deveth/docker/eth-geth/v1.8.20-submit_work_detail
You need to add this in its command line option:
--override.constantinople=9999999
Recommended Parity Ethereum node for the hardfork:
https://github.com/btccom/btcpool/tree/deveth/docker/eth-parity/latest
Please ensure that the version is greater than or equal to v2.3.0. Or use this command:
docker pull parity/parity:v2.3.0
You can still use the official release of GETH and the stable release of Parity, but because of the limitation in RPC eth_submitWork, blkmaker can't accurately record the hash of the submited block.
IMPORTANT: If you use eth-parity/beta-submit_work_detail or eth-geth/v1.8.15-submit_work_detail before, please DON'T FORGET upgrade and restart your blkmaker before you upgrade them. Otherwise you will not be able to submit your mined blocks and lose your mining rewards.
The old private RPC eth_submitWorkDetail in eth-parity/beta-submit_work_detail and eth-geth/v1.8.15-submit_work_detail has beed removed from eth-parity/latest and eth-geth/v1.8.20-submit_work_detail. Now the blkmaker use parity_submitWorkDetail (openethereum/parity-ethereum#9404).
The new private RPC parity_submitWorkDetail has be contained in the official release Parity 2.2.6-beta (Dockerfile). And we created a compatible implementation of parity_submitWorkDetail in GETH v1.8.20 (Dockerfile).
Tips: The version number of BTCPool is not strict. Don't be surprised if you see other version numbers in its source or project files. 😂😂😂