Grin and Grin wallet 4.0.0-beta.1 have been released and are ready for public testing in advance of the full release scheduled for the beginning of July, 2020.
As always, there are a ton of fixes, enhancements and new features for testing and feedback. A particularly large feature of the 4.0.0 is the implementation of the new Slatepack standard for sending transactions between parties. This standard builds on top of previous work that enabled TOR transactions, and should serve as a foundation for addressing Grin’s long-term usability challenges. Though there may be some pain transitioning to the new work flow I think the long-term results will be worth it.
On the node side, there are many fixes and under-the-hood improvements, as well as initial work to support “No Recent Duplicate” Kernels, a unique approach to relative timelocks (vital for future payment channel support). This is a very new construction so 4.0.0 will allow NRD kernels on floonet to enable testing and further development.
Of course, all of this this also means a lot of new code, which means new bugs and issues. I’d ask everyone to test and play with the 4.0.0 release as early as possible, and open up github issues for anything you find.
Particular Areas to focus on for testing
Node:
- Sync a new chain from scratch
- Replace binary, using chain data from previous versions
- full sync
- stay in sync
- tui still usable
- memory usage and cpu usage on running node (should be no worse than 3.1.1)
- ensure mining/cuckarooz will be applicable during earlier floonet HF
Wallet:
- Sending between 4.0.0 wallets and 3.x.x wallets (make sure that your 3.0 wallet is talking to a 3.0 node)
- Sending/receiving between a 4.0.0 wallet and your exchange of choice (use small test amounts!)
- Sending and receiving transactions via the Slatepack workflow (for best results, ensure TOR is installed on your test system)
- If running on floonet or mainnet pre-fork, be sure to use the
--v4
flag to force the output of v4 slates and slatepack (otherwise, you’ll get v3 slates output for compatibility reasons). V4 Slatepacks cannot be sent to 3.0.0 wallets. - Detailed suggested testing steps can be found here: https://github.com/mimblewimble/grin-wallet/issues/431
Release notes for the full 4.0.0 release are still being compiled, but note that the grin-wallet send
command is changed, and the dest
parameter is optional. This can now be a slatepack address or a (deprecated) http address. To find your wallet’s slatepack address, use the grin-wallet address
command.
Binaries
Grin 4.0.0-beta.1 Binaries
Grin Wallet 4.0.0-beta.1 Binaries
Release Planning
Planning notes for the 4.0.0 release
Major changes and enhancements (Please note this information may change before release)
Node:
- New Cuckarooz PoW and header version 4 for latest hardfork.
- TUI optimizations and overall code improvements
- Server and backend DB code optimizations and improvements
- BlockHeader via API now includes all relevant fields (including MMR size)
- Feature flagged NRD kernel support (enabled in floonet, remains disabled in mainnet)
Further Details
https://github.com/mimblewimble/grin/issues/3341 (WIP, Full release notes pending)
Wallet
- Slate version V4, a much more compact version of the slate.
- Full implementation of the Slatepack standard
Futher Details
Full release notes pending