RavenProject / Ravencoin

Ravencoin Core integration/staging tree
https://www.ravencoin.org
MIT License
1.08k stars 673 forks source link

Upgrade to Bitcoin code base 0.20.X #846

Open jeroz1 opened 4 years ago

jeroz1 commented 4 years ago

Bitcoin is the strongest blockchain that has the most eyes on the code. Consequently, Bitcoin receives regular updates for code improvements. Ravencoin is a code fork of Bitcoin 0.15 and will greatly benefit from updating to Bitcoin 0.20.X as this gives Ravencoin all the strengths from Bitcoin. Furthermore, it will make it easier and faster to port over any future upgrades.

There are numerous changes in the Ravencoin code base to support assets, and these changes make upgrading difficult. A great way to safely upgrade is to add Bitcoin updates in incremental steps: version 0.17 -> 0.18 -> 0.19 -> 0.20. This allows the community to review code changes at each Bitcoin version. Between each step, a reasonable time window should be given for the community to look at the changes, comment on these changes, and suggest additional changes.

A developer close to the code estimated that this work would cost ~$20,000,- in work hours.

marksuman commented 4 years ago

How much more risk would be introduced by combining some of the steps? 0.15 -> 0.18 -> 0.20. I haven’t looked at the changes in those versions, just using them as an example.

It would be good to discuss how long a “reasonable time window” is. 1 month? 3 months?

jeroz1 commented 4 years ago

Good questions that need discussion. @cfox @TronBlack @spyder46n2

spyder46n2 commented 4 years ago

I'll remember to bring this up in tomorrows development meeting on Discord - I'll talk to Tron tomorrow AM as well.