V23.0¶
| Node | Protocol | Database | Release Date | Release Notes | GitHub Links |
|---|---|---|---|---|---|
| 23.0 | 18 | 21 | 2022-01-17 | V23.0 | Release - Milestone - Changelog |
Upgrade notices¶
There are no upgrade impacts to be considered with V23.0. However all exchanges, services and integrations are encouraged to test their implementations on the test network (excluding load testing).
Major updates¶
Refactoring and cleanup¶
Many of the more than 150 pull requests closed for this release were part of efforts to refactor and cleanup many areas of the code. These updates are helping provide a foundation for better improvements in subsequent releases. More details can be found in the V23.0 Follis — Development Update.
Unit tests and bug fixes¶
Another focus area was improving and cleaning up the unit tests, along with various minor bugs and fixes. Test runs are now more consistent and reliable with V23, and will continue to be improved on in the coming releases.
Naming conventions¶
Recent updates to naming conventions are noteworthy:
Receivable instead of pending¶
After community discussions, a change from the term pending to receivable/ready to be received and similar was decided on and partially implemented in V23.0. These changes can be seen in various areas of the node wallet as well as across many RPC calls.
There are no breaking changes with this update, but switching to receivable terms is advised.
To keep backwards compatibility:
- The
pendingRPC call name is deprecated in favor ofreceivable(additional RPC call name changes to be completed in the next release) - All RPC responses containing a key of
pendingstill include the key as deprecated, and an additionalreceivablekey with the same value was added as the preferred option - Any RPC examples in the documentation have been updated to favor
receivable
The aim of this change is to help reduce the confusion around send blocks that are confirmed, but a matching receive block has not yet been published for them. See RPC updates below for a list of impacted RPC calls.
Unit name simplifications¶
Updates to simplify the unit names used within the node wallet and unit conversion RPCs were completed. This means previous unit conversion RPCs are now deprecated (see Deprecations/removals below) and the wallet uses the only remaining standard units of raw (10^0) and nano (10^30).
RPC updates¶
account_historyRPC now includes whether the block wasconfirmedin the response, allowing more efficient confirmation validation in some cases.- NEW
accounts_representativesRPC allows requesting representatives from multiple accounts in a single call. block_infoandblocks_infoRPCs now include thesuccessorblock hash in responses for easier ledger walking.delegatorsnow allows for optional parameterscount(to limit number of returned accounts),threshold(to require a minimum balance for returned delegators) andstart(to allow paging by providing account to start after).wallet_infoRPC return includes count of all blocks and confirmed blocks from all accounts in the given wallet.
Pending/Receivable term RPC updates¶
There are various changes related to the switch from pending to receivable in RPC calls as noted above. Although all changes are backwards compatible, switching to the term receivable in these cases is advised.
There are two main types of changes: RPC call name changes and updates to keys in the call requests and responses.
RPC call name changes
pendingreplaced byreceivablepending_existsreplaced byreceivable_exists
Response/request key changes only
account_balanceaccount_infoaccounts_balancesblocks_infoledgerwallet_balanceswallet_infowallet_ledger
There are no breaking changes with this update, but switching to receivable terms is advised.
WebSocket updates¶
Support added for wss:// to allow secure WebSocket connections alongside existing TLS support for RPC. Further details and documentation is pending, with initial pull request available here: https://github.com/nanocurrency/nano-node/pull/3032.
Developer/debug options¶
- NEW CONFIGURATION OPTION
node.rep_crawler_weight_minimumallows configuration of the minimum vote weight a node needs to qualify for the rep crawler to solicit confirmations from them. By default the rep crawler only tracks Principal Representatives (all previous versions behave this way) but a lower value for this option can provide broader tracking for debugging purposes. - NEW CLI COMMANDS
Deprecations/removals¶
- Most unit conversion RPCs were deprecated, including
krai_from_raw,krai_to_raw,mrai_from_raw,mrai_to_raw,rai_from_raw,rai_to_raw
Builds and commands¶
| OS | Download link/command | Verification |
|---|---|---|
| Universal Linux | https://repo.nano.org/live/binaries/nano-node-V24.0-Linux.tar.bz2 | SHA256 Checksum |
| Debian | https://repo.nano.org/live/binaries/nano-node-V24.0-Linux.deb | SHA256 Checksum |
| macOS | https://repo.nano.org/live/binaries/nano-node-V24.0-Darwin.dmg | SHA256 Checksum |
| Windows (exe) | https://repo.nano.org/live/binaries/nano-node-V24.0-win64.exe | SHA256 Checksum |
| Windows (zip) | https://repo.nano.org/live/binaries/nano-node-V24.0-win64.zip | SHA256 Checksum |
| Docker | docker pull nanocurrency/nano:V24.0See Pulling the Docker Image for more details. |
|
| RHEL/CentOS rpm | https://repo.nano.org/live/binaries/nanocurrency-24.0-1.el7.x86_64.rpm | SHA256 Checksum |