Some say: There is never such a sweet goodbye as to those we love the most.
The beta test has been – in our opinion – a great success. Why? Because we found issues that we didn’t catch in development testing and fixed them.
Some of the most notable things that we caught:
1. 0 Balances and other balance display issues.
2. Multiple addresses in the receive screen
3. Masternode setup issues
4. Staking amount issues.
5. Database corruption
6. Chainstate and wallet.dat issues
7. Popups for transactions with incorrect values
There was 1 more issue that was found that was a thorn in everyone’s side, but just like that yearly dentist visit, this one was needed – Licenses!
Some issues were sorted very quickly, while others required some time and some of them also required some thought as to how to make it right.
Some of the best changes to the wallets came from the balance and staking issues we experienced.
Whilst they were actually related to each other, the solution that the devs came up with was quite a unique one.
Firstly, the 0 balance issues arose. For those that didn’t see it, the 0 balance issue was where a wallet would report its balance as 0, but “getbalance” reported the correct amount.
The reason for this is quite simple.
This is taken from the testnet discord:
We have added a new method of dealing with the balances. We have been working on ways to make it easier to understand how balances work.
PoSV3 works like this:
You get some coins and they take time to mature before they start staking. While they are not mature, you can spend them. When they become mature, PoSV3 essentially locks them away – kind of like masternode collateral, but not to the same extent – and that makes them unavailable to be spent.
The balance that is “spendable” when staking all your coins is 0.
So what did we do?
We made it super easy to understand.
You now have 3 balances on the wallet:
Balance is the total amount of spendable and staking coins in your wallet. Spendable is how much you can spend right now. Pending is how much are awaiting confirmation.
But that’s not the coolest part. Not by a long shot.
One of the things that Spock (our CTO) keeps asking the devs is “What if the user wants to [insert action here]?”.
He asked them “What if the user wants to spend some coins while staking and not lose their stake maturity?” This got them thinking about a solution for it. Now, this does tie into the spendable balance on the wallet, but it’s really cool.
The devs figured it would be possible to create a withhold (reserve) function within the wallet that allows you to control how many of your coins are staking and how many are immediately spendable!
Mind Blown! We love it.
This makes us one of the few fully private staking coins out there that allows you to directly control how many coins you have staking and how much are spendable as 2 completely separate concepts.
And the best of all is that if you do spend, you don’t lose any maturity on your currently staking coins!
We experienced a few concerning issues such as the database corruption and early on, the masternode setup issues. While the masternode setup issues were easily dealt with, the database corruption bugs were more difficult to replicate because some people got it and others didn’t.
Eventually, though, we got through it.
There are still a few outstanding bugs that the devs are currently working on, but as this testnet is closing today, we won’t be getting those out to the testing community in time.
However, there may be a chance for the current Beta testers to get another bite at the cherry!