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
pending
RPC 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
pending
still include the key as deprecated, and an additionalreceivable
key 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_history
RPC now includes whether the block wasconfirmed
in the response, allowing more efficient confirmation validation in some cases.- NEW
accounts_representatives
RPC allows requesting representatives from multiple accounts in a single call. block_info
andblocks_info
RPCs now include thesuccessor
block hash in responses for easier ledger walking.delegators
now 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_info
RPC 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
pending
replaced byreceivable
pending_exists
replaced byreceivable_exists
Response/request key changes only
account_balance
account_info
accounts_balances
blocks_info
ledger
wallet_balances
wallet_info
wallet_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_minimum
allows 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-V27.1-Linux.tar.bz2 | SHA256 Checksum |
Debian | https://repo.nano.org/live/binaries/nano-node-V27.1-Linux.deb | SHA256 Checksum |
macOS | https://repo.nano.org/live/binaries/nano-node-V27.1-Darwin.dmg | SHA256 Checksum |
Windows (exe) | https://repo.nano.org/live/binaries/nano-node-V27.1-win64.exe | SHA256 Checksum |
Windows (zip) | https://repo.nano.org/live/binaries/nano-node-V27.1-win64.zip | SHA256 Checksum |
Docker | docker pull nanocurrency/nano:V27.1 See Pulling the Docker Image for more details. |
|
RHEL/RockyLinux rpm | Not available anymore. Please check Build Options for build instructions. |