[Current] Riecoin Core 23.04

Riecoin projects, proposals, bounties, discussions about existing Riecoin software,...
Forum rules
Discuss about Riecoin projects like software directly using or supporting the Riecoin's network, allowing Riecoin integration in third party services or providing useful applications. For external projects that make use of Riecoin, discuss about this in the External forum (even if your project is not completed).
Post in the subforums below if applicable.
Post Reply
User avatar
Pttn
Forum Staff
Forum Staff
Posts: 222
Joined: 2021-02-18 21:32:13
Location: Switzerland
Miner Score: 81.509
Contact:

[Current] Riecoin Core 23.04

Post by Pttn »

The software enabling the use of the Riecoin currency, fork of Bitcoin Core.

Learn more (also with guides): https://riecoin.dev/en/Riecoin_Core
Repository: https://github.com/RiecoinTeam/Riecoin
Binaries: https://riecoin.dev/resources/RiecoinCore
Release notes: https://riecoin.dev/en/Riecoin_Core/Release_Notes/23.04

Only discuss about the 23.04 version here.
Please report bugs here. Suggestions are welcome here, but a new topic should be created in the Improvement Proposals subforum for important or controversial improvement proposals.
Don't ask for technical help, for this browse the Help subforum or open a new topic there. Be sure to have read and followed correctly the guides! Beginners might want to use rieWallet instead.

Image
Image
Riecoin developer
Stelo.xyz pool operator
User avatar
Pttn
Forum Staff
Forum Staff
Posts: 222
Joined: 2021-02-18 21:32:13
Location: Switzerland
Miner Score: 81.509
Contact:

Re: [Discussion] Riecoin Core ~22.12

Post by Pttn »

Let's discuss here about the future Riecoin Core version. Firstly, Bitcoin Core 23 is planned to release in less than a month, so I am not going to already port the code to Riecoin and will definitively skip this version as there is no major features (and a couple of interesting ones have already been included in Riecoin 22.03). The next Riecoin Core will be based on Bitcoin Core 24, which should be out around November 1, so a next Riecoin release in December seems logical.

Afaik, there are currently no interesting Bitcoin projects or soft forks like Taproot except maybe the DriveChains that would allow Riecoin to be used as a base for other coins, so Riecoin 22.12 could be the last version that ports directly all the Bitcoin improvements, and after 22.12 we could focus more on improvements for Riecoin itself without caring about keeping a code that does not deviate too much from Bitcoin's.
This would allow to include some really useful features that Bitcoin Core developers are for some reason reluctant to add like AddrIndex, which can greatly help the creation of new Riecoin software. I have some other ideas that however need some reflection.
Of course, some useful new merged code from Bitcoin would still occasionally be ported to Riecoin.
Riecoin developer
Stelo.xyz pool operator
User avatar
Pttn
Forum Staff
Forum Staff
Posts: 222
Joined: 2021-02-18 21:32:13
Location: Switzerland
Miner Score: 81.509
Contact:

Re: [Current] Riecoin Core 23.04

Post by Pttn »

Finally, I finished working on the newest Riecoin Core version. It was planned for a few months ago, around Bitcoin Core 24's release, but I could only work on it starting from mid March (and the timing was also unfortunate as Bitcoin 25 will be out soon...). I was hoping for a release on the first half of April, as this Riecoin version will be in some way a turning point, but I wanted to put more effort than on other releases to have a better foundation for future Riecoin Core developments, so it is rather now at the month's end that Riecoin 23.04 is released. At least, I still made it for April so it will not have to be renamed to 23.05.

As explained in the previous post, Riecoin 23.04 will be the last version that is ported directly from Bitcoin (take Bitcoin Source Code and then make all the changes required to have a proper Riecoin client). Such porting is a daunting task, and countless hours are consumed simply by having to do a lot of testing to make sure everything works and nothing has been missed. Historically, there were some notable updates/SoftForks, on top of lots of small changes, so taking the Bitcoin's latest code was probably still a more efficient and safer way to make new Riecoin releases than incrementally applying the Bitcoin's Commits to the Riecoin's code.

After the major Taproot/Schnorr Signatures SoftFork and a pretty much "finalized" Descriptor Wallets implementation, it seems to be a good time to do the latter procedure instead starting from now. A drawback of porting from Bitcoin was that it required to retain a Riecoin Code that is very similar to Bitcoin's, otherwise it would make the ports even more tricky and increase risks of bugs.

So, Riecoin 23.04 will in this sense be a turning point. Rather than basically starting over every couple Bitcoin releases or so from its code, I will regularly check and catch up with the improvements to Bitcoin's Code (as long as they still apply for Riecoin Core). Testing and Riecoin Core development in general will be much more practical and enjoyable this way. The code no longer having to remain similar to Bitcoin's will allow us to make interesting additions and modifications to Riecoin Core that would not have been practical previously. I am already thinking about some useful tools that could be added to Riecoin Core...

Now, let's talk about the concrete changes from Riecoin 22.03 and give some rationales.
  • Riecoin 23.04 is now based on Bitcoin Core 24.0.1 (instead of 22.0). Actually, it is based on 24.1 RC2, which is basically 24.0.1 with a few very small Bug Fixes and improvements;
  • The Legacy/BDB Wallet support was completely dropped. Bitcoin and so many other coins will certainly be haunted by Legacy Wallets for still a lot of years given how slow so many actors (like Pools and Exchanges) are upgrading... We must take advantage of the fact there are only a handful of such actors in Riecoin, so maintaining a Legacy burden just for the sake of compatibility is less important. This also guaranties that every new Riecoin user will use Descriptor Wallets and will not have to experience the possible pain of upgrading from Legacy Wallets. The code cleanup will definitively pay off for the long term;
  • Wallets are now always in a "wallets" folder (if no -walletdir was specified). Previously, you could have Wallet.dat files or their folders in the root of the Data Directory (next to things like the Riecoin.conf or the Blocks folder). It is more practical to have everything at the right place, and we can now simply say that "all your wallets are in the "wallets" folder". The drawback is that people must if needed manually move the wallets to that folder, though I think that the change is worth it.
  • By default, generated addresses are now in the "Bech32M" type ("Taproot Addresses" or "P2TR Addresses"): Taproot and Schnorr Signatures were activated a while ago in Riecoin, though we did not actually benefit much from these features so far. This technology was back then quite young and it was not even trivial to generate Bech32M Addresses. Now, it is mature enough to make Riecoin Core generate such addresses by default. You can recognize them with the prefix "ric1p" rather then "ric1q", and they are longer. Besides benefitting from the Taproot and Schnorr Signatures advantages, generalizing their use reduces Blockchain space usage: making a P2TR Output takes about 12 bytes more that before, but spending a P2TR Input saves about 41 bytes (concrete example: spending a P2TR Input Vs a P2WKH Input - 150 bytes instead of 191 bytes)! In terms of Virtual Bytes, P2TR takes about 1-2 VBytes more considering Input + Output, but that is not the actual blockchain space taken;
  • It is no longer possible to generate addresses that are not Bech32. There is just no reason to use "R" or "T" Addresses anymore, and basically nobody does that anymore except (unfortunately) SouthXchange (who are still running Riecoin 0.21 for some reason). One day, support for these Addresses will be dropped, like it happened a long time ago for P2KH Addresses (notice how the Riecoin.dev Explorer says "N/A" for such "Address" in the Block 1);
  • Private keys are now prefixed with `prv` rather than being plain hexadecimal strings: previously, it was enough to consider the length to distinguish Private Keys (64 bytes) from Public Keys (66 bytes), but now in some cases, Public Keys can also be 64 bytes, so the prefix was added. It also makes things more readable;
  • Many deprecated or compatibility RPC commands or fields were removed. Similar rationale as dropping the Legacy Wallets, we are here encouraging developers to maintain their code up to date. Just deprecating stuff encourages them to procrastinate...
Here are the Release Notes for Riecoin 23.04. Please read them carefully if you are upgrading from a previous version since some changes above require action. If you are have questions or are unsure of anything, the I will be glad to assist you for the upgrade. As always, it is recommended to do it as soon as possible, though there is also no hurry, just find a time where you are comfortable to properly understand the instructions and perform the upgrade. The wallet changes were quite exceptional and future upgrades will usually not require particular interventions like for this release.

23.04 binaries were already available since yesterday and latest ones can always be downloaded here.
Riecoin developer
Stelo.xyz pool operator
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests