The Gridcoin Developers are proud to unveil our latest milestone release, version 4.0.2, codename Camilla. This release contains a lot of small fixes and optimizations as well as the long awaited side staking and stake splitting functionality! This is a leisure release, and not required for users. It is however recommended if you want the latest features and optimizations!
For some of the details about the syncing optimizations, please see this post from core developer @ravonn. Here is a graphic from that post to show the improvements we should see with Camilla:
Overall users can expect a roughly 10-25% improvement in speeds when syncing the wallet. As always we continue to look for new ways to decrease sync time and reduce our need for snapshots.
Probably the biggest and most exciting part of this milestone is the addition of Stake Splitting and Side Staking added by @jamescowens. He describes how to use the feature in his PR:
This PR extends the work I have done in PR #1244 and implements the ability to "side stake" or distribute the CBR and research rewards to valid addresses. These addresses may be in the same wallet or any other valid Gridcoin address. The potential uses for sidestaking range from a person insuring that all reward go into the same address (and key) for easier backup and recovery to someone donating CBR and rewards to a charity, or sending it to their grandma! :). This functionality is very similar to Pinkcoin.
The PR adds the following additional conf file parameters...
enablesidestaking=0|1
sidestake=address,allocation_percentageYou can specify multiple sidetake entries, just like addnode or connect. Note that the total number of ouputs for the coinstake will be limited to 8 in V10, and vout[0] must be empty, so that gives 7 usable outputs. One must always be reserved for the actual coinstake output (return), so that leaves up to 6 usuable outputs for rewards distribution.
Note that the total of all of the percentages can add up to less than 100%, in which cases the leftover reward will be returned back on the coinstake(s).
Also with side staking we have stake splitting, which enables users to optimize their UTXOs automatically when they stake. Jim describes how it works in this PR:
This PR implements three conf file parameters:
minstakesplitvalue
enablestakesplit
stakingefficiencyenablestakesplit=1 will enable the automatic splitting of UTXO's in the coinstake transaction (stake outputs). Zero is the default (disabled).
stakingefficiency=xx is an integer that specifies the desired staking efficiency. This is constrained by the code to be between 75% and 98%
minstakesplitvalue=xxx is an integer that specifies the minimum UTXO size desired post split to provide a secondary control on UTXO size. If difficulty drops and a high efficiency is specified, the efficiency alone may split UTXO's into amounts smaller than the user desires. This will prevent that from occurring. If a user specifies less than 800 GRC, then the code uses 800 GRC. Note that the stake splitter uses a 160 block averaging interval for calculating the difficulty to smooth out the difficulty swings.
So to summarize, users can enable side staking in their wallets by adding the line enablesidestaking=1
to their config files. To add addresses to side stake to, simply add another line for each side stake entry like so sidestake=address,percentage
.
To enable stake splitting in your wallet, add the line enablestakesplit=1
to your config. This will enable default splitting at 90% efficiency. To change the efficiency value, simply add another line with stakingefficiency=xx
where "xx" is a percentage (between 75 and 98).
Note that there is already development work underway to allow users to define their side staking or splitting preferences from within the wallet. Currently the functionality is enabled through config flags only. Note that changing your config will require a wallet restart to use the new settings!
Download the update from GitHub here.
The Windows MSI can be downloaded here. Checksum.
Changelog for the 4.0.2 release:
Added
Add rainbymagnitude RPC command #1235 (@Foggyx420).
Add stake splitting and side staking #1265 (@jamescowens).
Detect and block Windows shutdown so wallet can exit cleanly #1309
(@jamescowens).
Add message support to sendfrom and sendtoaddress #1400 (@denravonska).
Changed
Configuration options are now case insensitive #294 (@Foggyx420).
Update command in beaconstatus help message #1312 (@chrstphrchvz).
Improve synchronization speeds:
Refactor superblock pack/unpack #1194 (@denravonska).
Optimize neuralsecurity calculations #1255 (@denravonska).
Reduce hash calculations when checking blocks #1206 (@denravonska).
Make display of private key in beaconstatus OPT-IN only #1275 (@Foggyx420).
Store Beacon keys in Wallet #1088 (@tomasbrod).
Use default colors for pie chart #1333 (@chrstphrchvz).
Show hand cursor when hovering clickable labels #1332 (@chrstphrchvz).
Update README.md #1337 (@Peppernrino).
Fix integer overflow with displayed nonce #1297 (@personthingman2).
Improve application cache performance #1317 (@denravonska).
Improve reorg speeds #1263 (@denravonska).
Update Polish translation #1375 (@michalkania).
Fixed
Remove expired polls from overview page #1250 (@personthingman2).
Fix plural text on block age #1304 (@scribblemaniac).
Fix researcher staking issue if your chain head was staked by you,
#1299 (@denravonska).
Fix incorrect address to grcpool node #1314 (@wilkart).
Do not replace underscores by spaces in Qt Poll URLs #1327 (@tomasbrod).
Fix scraper SSL issues #1330 (@Foggyx420).
Removed
Remove or merged several RPC commands #1228 (@Foggyx420):
newburnaddress, removed.
burn2: Removed.
cpid: Merged into projects.
mymagnitude: Merged into magnitude.
rsa: Removed, use magnitude.
rsaweight: Removed, use magnitude.
proveownership: Removed.
encrypt: Removed.
Remove obsolete POW fields from RPC responses #1358 (@jamescowens).
Remove obsolete netsoft fields for slight RAM requirement reduction
#1336 (@denravonska).
Remove unused attachment functionality #1345 (@denravonska).
Thanks as usual to our developers for this milestone leisure release. Thanks also to our dedicated testers, who have my gratitude for ensuring a smooth release.
Update: the windows MSI is now available.
Hi @barton26!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 2.789 which ranks you at #13195 across all Steem accounts.
Your rank has not changed in the last three days.
In our last Algorithmic Curation Round, consisting of 359 contributions, your post is ranked at #334.
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server
Wasn't we going to withhold update announcements until all the builds where available to download?
Either way it's a great update, one step closer to the new scraper <3
That is really hard to do, because as soon as Master on GitHub is updated, the changelog channel in Discord lets everyone know it is posted, so the "cat is out of the bag" so to speak. You have to update master before you do all of the builds.
Having a feed into a tight-knit platform like discord is different than a public post. I think we really have to nail down the release process, particularly as though we were someone from the outside looking in.
Still, great release!
Edit add: I don't think it's about letting the cat out of the bag, it's more of a image/marketing/ux thing.
🎁 Dear @shmoogleosukami,
SteemBet Seed round SPT sale is about to start in 2 days!
When our started the development of SteemBet Dice game, we couldn’t imagine that our game would go so viral and that SteemBet would become one of the pioneers in this field.
In order to give back to our beloved community, we’ll distribute 4000 STEEM to SPT holders immediately after Seed sale. Plus, investors in this earliest round will be given 60% more tokens as reward and overall Return on Investment is estimated at 300%!
Join the whitelist on SteemBet webiste now and start investing! Feel free to ask us anything on Discord https://discord.gg/tNWJEAD
helpful post ...
thank you
Is not published in the site....
It is on the site, we are currently waiting for the web PR that adjusts the number in the description to be updated. Rest assured the download on gridcoin.us is the right one.
Does anyone knows whether this release continues being RAM eater?
I understand sync time has been "fixed" but nothing about memory usage is writen...
Thx¡
It's mostly still a RAM eater. The largest culprit is, as @tomasbrod mentioned earlier, the block index. With Bitcoin it's an index to the files on disk. Blackcoin extended this to also include the mint, money supply, stake modifier, previous stake, stake time and some additional fields. Gridcoin extended it further by including the CPID, magnitude and research/interest subsidy.
It's done in this way to avoid having to read the actual blocks from disk which would be very slow when scanning N months back to verify research claims. There are some ideas to move this type of data to an SQLite database which would both speed up the tally calculations and reduce the RAM requirement. It's just a fairly large task to implement.
Well, thats not telling much....
There were minor RAM optimizations in this release. The targeted optimizations this time around were focused on syncing. Further RAM reductions will be in the coming milestone releases (Denise and Elizabeth).
Congratulations @barton26! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Any idea when the MacOS image will be available? I would really like the optimized features.