Grin and Grin wallet 2.1.0 has been released! This release includes many updates, improvements and fixes, details of which can be found below.
Note this is a non-breaking release, and should work as a drop-in replacement binaries for the Grin 2.0.0 release, with which this release is fully compatible. A few upgrade configuration notes related to Wallet API Tokens should be observed if your configuration uses them.
Thanks to all Grin contributors and community for their hard work and help testing this release!
Major changes and enhancements
- Blocking IO (major changes to networking implementation)
- Improved handling of p2p connections (inbound and outbound peer connections)
- Implement batch verification of kernel signatures (50% performance increase)
- Kernel serialization optimization (and increased flexibility)
- Numerous smaller fixes and improvements (see linked issues on the release page)
Details for all node changes for the 2.1.0 release can be found here:
- Addition of the V3 Owner API, (at
/owner/v3) which includes lifecycle functions for creating wallets, as well as enhanced security between the server and clients. A full description of the new API can be found in the rustdoc documentation and at crates.io.
- Fixes to API secret handling, note the upgrade notice below
- Fixes to transactions not confirming when no change outputs exist
- Addition of the kernel excess field to the transaction log, to help with identifying transactions on the chain
Wallet API Tokens
- Upon wallet creation, the wallet now creates 2 authentication tokens in the wallet directory:
.api_secretis the secret shared with the node for wallet to node communication. Previous versions used this file for both node communication and Owner API authentication. This file should now only be used for the node secret and users should update files and paths in
.owner_api_secretis now used only to authenticate the Owner API.
api_secret_pathcorresponds to the Owner API secret file (
.owner_api_secretby default), while
node_api_secret_pathcorresponds to the node secret file (
- When running the Owner and Foreign APIs on the same port via the
grin-wallet.toml, calls to the Foreign API no longer require the Owner API authentication secret.
- 2 fields are added to the
TxLogEntryas found in the
kernel_excess- Optional kernel excess (identifier) for the transaction
kernel_lookup_min_height- The minimum height to begin scanning for a kernel excess value when attempting to retrieve it from the nod.
Details on all wallet changes for the 2.1.0 release can be found here: