Proofgold Core 0.2.8rc2

by BlakeKeiller, Saturday, November 13, 2021, 14:50 (22 days ago) @ Brown

Here is a second release candidate for 0.2.8:

https://proofgold.org/proofgold-core-0.2.8rc2.tgz

I included Brown's code to limit the staking assets to those that meet the minimum amount requirement. It was a fairly serious bug that there were no such guards. It wouldn't have been fatal, but it would've meant some people might've thought they were staking blocks when they really weren't. Due to this it will be very important for stakers to upgrade to 0.2.8 or at least add Brown's code to your code and recompile if you don't upgrade. I suppose it's also a good reminder that the Proofgold Core code really needs more code review. To be clear, the code omission was my fault since I am the one who added the minimum amount code to block.ml and forgot to add it to staking.ml. This problem has been in the code for most of 2021.

2. What is the deltahex command? It doesn't seem to do anything except get the block delta from the database and ignore it.

This was leftover from some testing I did. I've removed it in rc2.

3. Sometimes my database gets corrupted and I have to copy a backup and resync from there. It seems likely that there some violation of atomicity in the current implementation. Someone suggested possibly using "Irmin." I'm reluctant to suggest this myself because every dependence on third party libraries makes it more likely that there could be a consensus issue with people running in different environments. It's already uncomfortable that the implementation uses Zarith/libgmp for ECC operations.

It's unfortunate, but I think realistically the best practice is to make regular backups of the "db" directory and replace it if it gets corrupted. The database code is something I'm reluctant to change more than I already have. I suppose the positive news is that peer nodes don't need to know how a Proofgold node stores key-value pairs in its database, so if someone changes their code to handle their local database differently it will (or should) behave well with the rest of the network.


Complete thread:

 RSS Feed of thread

powered by my little forum