Gridcoin Developer Update August 27th, 2018

Hello everyone and welcome to another Developer Update from the Gridcoin team. I’d like to remind everyone that these posts will be created every two weeks unless a wallet update is pending that week. We have a few new pull requests submitted by our developers since the last update as well as some news about CBR testing on testnet.

Wallet Development

  • First up we have PR 1270 by ifoggz. “This PR removes the ability to have to use 0123 0124 in stake amount.” This change may seem quite strange, so let me first explain the reason we have to fix this. In our current system, the way the wallet identifies whether you staked Proof of Research or Proof of Stake is by looking at the last 4 digits of the stake amount. Every POR stake always ends with 0124 in the amount. This functions as a sort of “magic number” so the wallet can easily identify the type of stake without doing complex calculations. The reason this needs to be changed, aside from being weird code and looking strange, is that it causes problems when paired with the upcoming changes to allow “stake splitting” as I talked about two weeks ago. Note that this change will be a part of v10, or CBR (also known as Betsy Bird).
  • Since the “forkpocalypse” back in February, testnet has been unable to sync from 0, necessitating the use of a snapshot. This has been a constant source of aggravation for new testnet users. Now thanks to PR 1268, a joint effort by Quezacoatl1 and tomasbrod, testnet users will be able to sync from 0 again as the “bad blocks” that preventing syncing are now bypassed in the block check system. Since this is testnet after all, there are not really any security implications with skipping known bad blocks in the chain.

To wrap it up, we had a flurry of bug fixes to help SouthXchange get up and running with our wallet as easily as possible.

  • PR 1266 by ifoggz prevents a HTTP 500 error response from the RPC HTTP interface when entering a command that is supposed to be “null”. Note that this change was literally one character! Quite a lot of hassle went into finding that missing “!”.
  • PR 1271 by jamescowens allows the command getrawtransaction to accept either a boolean value (true, false) or a number (1 for true, 0 for false) to indicate verbose output. This change makes our RPC output more in line with Bitcoin's.
  • PR 1272 by ifoggz is a cosmetic fix that prevents balances from showing the 16 decimals (this is default wallet precision) when our smallest divisible unit is 8 decimals (1 Halford).

Testnet

Testnet previously hard forked at block 629,409 on August 1st to begin CBR testing. Since that time, apart from a few hiccups at the start, CBR has been running quite smoothly. To address some of the other changes in v10 (it’s not all CBR!) we will be preparing for a second hard fork on testnet in the next couple weeks. We are still awaiting some final changes to the v10 “package” of PRs to be completed, and then we will start our test builds and initiate hard fork round 2.

As always, if you’d like to help us out on testnet join us on Slack or Rocket Chat in the #testnet channel. If you need an invite to either of these platforms feel free to comment below and I’ll get you set up. That’s all for this round of the developer update. Tune in for the next post in two weeks (September 10th).