Grin and Grin wallet 2.1.0-beta.3 have been released and are ready for public testing in advance of the full release slated for the week of October 14, 2019. We encourage everyone in the community to download and try the new release, particularly wallet developers who may be interested in the additional functionality provided by the V3 API.
Particular Areas to focus on for testing
- Sync a new chain from scratch
- Replace binary, using chain data from previous versions
- Sending between 2.1.0 wallets and older wallets?
- Sending/receiving between a 2.1.0 wallet and your exchange of choice (use small test amounts!)
- Wallet Developers - Using the V3 wallet API
- Wallet Developers - Ensure your existing code works as before with the 2.1.0 release
Major changes and enhancements (Please note this information may change before release)
- 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)
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.
- 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: