Along with Riecoin Core 0.20.0 RC, a new stable rieMiner version was released, required to mine with the newest software. rieMiner 0.92 can be downloaded here.
The Riecoin website has also been fully revamped and proposes much more documentation than previously.
Testnet will fork at Block 79056, in about a week but can be less or more depending on mining activity there. No fork block has been yet decided for Mainnet, but it will probably be about one or two weeks after the Testnet fork depending on how ready the Riecoin actors are and if major bugs were discovered during the Testnet fork.
Starting from now, the cooperation of everyone involved in Riecoin is critical to ensure a smooth upgrade. Below, there will be indications about how to handle this major Riecoin upgrade.
Besides the base code upgrade from Bitcoin's 0.16.3 to 0.20.0, notable changes are as follows:
- In Mainnet, miners will be looking for prime septuplets instead of sextuplets, allowing new ways to break records while mining. The PoW encoding is also improved;
- A few protocol design issues are fixed: removal of an unnecessary fields inversion in the block header and some changes in the PoW encoding;
- The superblocks system is removed;
- The difficulty adjustment algorithm is changed from one based on the Bitcoin's DAA to one based on ASERT, and this comes with stricter node times and block timestamps checks. This will help to counter possible mining attacks as well as provide a more dynamic adjustment when large miners join or quit.
Some rationales can be found in this discussion.
Prepare for the upgrade
Normal Riecoin users and miners
The upgrade will be seamless to normal users, but you should start to use the 0.20.0 version as soon as the stable version is released. Please follow regularly the Riecoin news.
Bech32 (starting with ric1) addresses will become the default and the standard, so you should consider moving your funds to Bech32 addresses if you still have coins in the older R or T addresses (though they will still be fully supported in 0.20).
Even though there should not be any issue on this side, it is recommended to backup your wallet just in case (anyway, it is always recommended to have a backup at any time).
Solo miners must use rieMiner 0.92 to mine with Riecoin Core 0.20.0 RC and later. rieMiner 0.91 and earlier are not compatible with newer versions. Pooled miners should wait for their pool operator to upgrade the pool and then start mining using rieMiner 0.92.
It is recommended to make early tests with the 0.20.0 RC release to ensure that Bitcoin's changes from 0.16 to 0.20 don't break anything. The Riecoin PoW and DAA changes should not affect in any way the Riecoin Core integration to an exchange. If everything is fine, the Riecoin news should be followed regularly to learn when the 0.20.0 stable version is released and proceed to the production upgrade as soon as possible.
Bech32 (starting with ric1) addresses will become the default and the standard, so new deposit addresses should be Bech32 (older formats will still work fine), and users should be encouraged to start using the new format. Dropping support of the older formats can be considered.
Pool operators should take action as soon as Riecoin 0.20.0 RC was released by upgrading their code to support the upgrade and handle the fork. NOMP-RIC provides reference code for pool operators to upgrade their code.
Testnet will fork at Block 79056, giving them an occasion to test their upgraded pool and the fork in conditions similar to actual Mainnet mining. Should they miss this fork or prefer to trigger it manually, they can make a quick local fork by following these steps:
- Use the Testnet blockchain bootstrap, containing blocks up to 71746;
- Download the Riecoin Core source code and apply the following changes: alter the Testnet fork block in the src/chainparams.cpp by changing the appropriate consensus.fork2Height value to something near the Block 71746, like 71750;
- Force GetBlockTemplate to work without any connection by commenting the lines in src/rpc/mining.cpp
Code: Select all
if (g_rpc_node->connman->GetNodeCount(CConnman::CONNECTIONS_ALL) == 0) throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, PACKAGE_NAME " is not connected!");
- Build Riecoin Core. Ensure that no nodes were added for Testnet in the configuration file and add maxtipage = 2147483647. Then, run Riecoin Core and make tests. Replace the Riecoin data by the bootstrap blockchain to redo the fork if needed.
Starting from now, advanced Riecoin users should look into the changes (read above) and update their software accordingly, as well as closely follow the Riecoin Core development.
Unless the software is focused on the Riecoin's PoW, the Bitcoin changes from 0.16 to 0.20 may actually cause more issues than the Riecoin changes, so it is recommended to take a look at the Bitcoin Core release notes as well.