It took a while more than I wanted due to various reasons, but finally, I finished the upgrade.
The binaries will starting from now be hosted on Riecoin.dev and I will push the new code soon. Prerelease binaries built with Guix (Bitcoin no longer uses Gitian) can be downloaded here.
https://riecoin.dev/resources/RiecoinCore.php
Despite not being releases, they should already be safe to use for production. It is recommended to read points below, though, and as usual backup your wallets just in case. I am letting a couple of weeks so everyone can test it to confirm that it is ready to be a Stable Release. Please give some feedbacks!
The version will no longer be taken from the Bitcoin Core one, but from the date, like Ubuntu. So this version will not be 22.0, but 21.10 for October 2021.
Firstly, take a look at the Bitcoin's 22.0 Changelog:
https://bitcoincore.org/en/releases/22.0/
The change that will likely affect advanced users the most will be the "#20286 Deprecate addresses and reqSigs from RPC outputs (mjdietzx)" one. This change may require developers to change some code: basically, wherever there is something like ['addresses'][0], replace it by just ['address']. The "-deprecatedrpc=addresses" has been removed in Riecoin 21.10 as well, better fix the code now than procrastinate.
I did not check if it affects NOMP-RIC.
As usual, a minority of Test Units are failing but they should not question the well functionning of the code. You can also read the paragraph about that in the previous 0.21 topic.
Unlike the previous release, there is no Soft Fork so an upgrade is not absolutely necessary, but still recommended for yourself as the more versions you skip and the more you will have to catch up with new or deleted features.
The Taproot Soft Fork has been hardcoded/buried.
The Protocol Version was reverted to Bitcoin's 70016, there is no practical reason to have our own Protocol Version. I don't know why Gatra set it to 10070001. But with this change, it will be easy to get rid of obsolete clients by disconnecting any node using the 10070001 version in a future release.
I still did not touch the Signet Network Code, if someone is interested in working in it that would be welcomed.
In Riecoin 21.10, we are taking a step ahead from Bitcoin regarding Descriptor Wallets. As a reminder, these are a new kind of wallet that will replace the current ones (Legacy Wallets). Support for Legacy Wallets will eventually be dropped, so actions must be taken to avoid a painful transition where many people are still using them. Because we are a much smaller network, we can afford to accelerate the transition.
They plan to generate Descriptor Wallets by default only starting from 23.0, but in our case Riecoin 21.10 will already do it and prevent the creation of new Legacy Wallets. I and many other Bitcoin users used Descriptor Wallets without issues so far.
I wrote a
guide explaining how to move funds from Legacy Wallets to Descriptor Wallets. It is highly recommended to move your coins as soon as possible. This would also be a great preparation for Bitcoin as you will eventually have to do it for it too.
Regarding Riecoin specific changes, there is now a way to get the Constellation Pattern or Length without having to write external code, via the getresult call: add a true boolean after the block hash.
Code: Select all
getresult 0638e410d05c71a76f019dd3d3b75cde99f3773b400defeacaea19c8c7e95365 true
{
"type": "prime constellation",
"n": "686475367705759866128106699319230624200061818438389154480294335272887765376118633963008856720538013680809383740206887464575716243985195240167531631808386681938725832445674052008454878530263216485404798290917898816530480502493979755413753899231962566331415228737016621127916074140119",
"offsets": [
-12,
-10,
-6,
0,
2,
8,
12,
14,
18,
20
],
"length": 10
}
Messages can (and must) now be signed with Bech32 addresses.
A Code Generator feature was also added, so it is now possible to use Riecoin Addresses to authenticate yourself as replacement to Google Authenticator or other 2FA things. I will open my own Riecoin Pool and a Riecoin Faucet this month taking advantage of this feature, but I would love if someone else implements support of authentication via Riecoin Addresses in their services too.
The big advantage over Google Authenticator is that even if your service gets hacked (and it
happened not too long ago on the C-Patex Exchange), private keys cannot be stolen.
The Code Generator is simply based on the message signing features, using the current time as a message.
It might be improved to produce shorter codes in the future to avoid requiring copy-paste, but as is it works very well too...