Skip to content

BTCPool v2.3.2: Delay the Ethereum Constantinople Hardfork

Compare
Choose a tag to compare
@YihaoPeng YihaoPeng released this 16 Jan 09:41
· 4 commits to deveth since this release

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?

Report
Discussion

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. 😂😂😂