Solidus is live on the Nano network
Nano Node v19 marches onto the main net
We are pleased to announce the release of the latest version of the Nano node software, in what is one of the most extensive protocol updates to date. Through a collection of significant updates and smaller targeted optimizations, Solidus brings the resilience and immutability necessary to foster trust and confidence in Nano as a leading digital currency.
The V19.0 release would not have been possible without our army of community beta-testers and contributors who have committed to providing the most efficient and comprehensive beta testing to date. Their work has been instrumental in ensuring that Solidus is well prepared for launch and we would like to extend our appreciation to all of the people involved in contributing to this release.
Before we get into the great features, there are some important upgrade considerations to call out. All node operators, services and exchanges integrating with Nano should closely review these details before upgrading.
Key upgrade considerations
Upgrades from versions V17.1 and earlier to V19 will involve a sequential database upgrade and impact participation of the node on the network. RPC calls will be unavailable for a long period of time amongst other impacts. It is highly recommended that nodes are upgraded to V18.0 first or a V18.0 ledger is acquired and used when upgrading to V19.0.
Confirmation tracking considerations
The addition of confirmation height to the database requires the node to validate that blocks are confirmed before the cementing can occur. This process can take up to 24 hours or longer to complete and will cause an increase in some resource usage, particularly network bandwidth increases, but won’t impact participation on the network. For integrations watching confirmations, the existing HTTP callback, block_confirm RPC and confirmation_history RPC methods will continue to function as before, however it is required that tracking of confirmed block hashes outside the node is done to avoid potential duplicate notifications from causing issues. This was a requirement in previous versions and remains the same with V19.
For those looking to utilize the new WebSocket confirmation subscription or new confirmed field in block_info RPC responses, special considerations should be taken if implementing before confirmation height updates are complete — find out more details see the V19.0 Release Notes.
Emitting nano_ prefixed addresses
In this and future versions, all addresses emitted from the node will use the nano_ prefix. It will continue to support input for xrb_ prefixed addresses, but all services must verify they are properly set up to handle the node outputting nano_ prefixed addresses.
Live network traffic over TCP
Live network traffic over TCP is now available and operates on the same port (7075 for main network, 54000 for beta network) as the bootstrapping network that was already available over TCP. Because of this, existing network setups that are open inbound and outbound on port 7075 for TCP should function as expected with V19.0. For those running production services, it is still recommended to verify network ports setup and consider setting up a new node on internal networks to ensure it can connect and participate on the main network before production nodes are upgraded. Details on checking this can be found in the V19.0 Release Notes under Upgrade Notices section.
Other items to review
New configuration options have been introduced to allow tuning of certain behaviors and resource usage on the node. This includes active elections size and bandwidth limiting along with some other potentially useful options to adjust. For details on these and other updates to RPC calls, CLI commands and more, review the V19.0 Release Notes.
So, what’s new?
Among the 300+ pull requests that collectively comprise Solidus, there are several highly anticipated changes that have fueled incredible engagement and excitement in the community — let’s take a quick look at how some of the notable features in Solidus will improve the Nano network.
Solidus also makes the node smarter, allowing much more efficient notification mechanisms with the introduction of websockets. This enables a far simpler solution to receive notifications from the node and is the recommended method for tracking confirmations, active difficulty and more. For more detail about setup and use, see the WebSocket Support docs.
The RPC server can also be run as a child process or on its own process for better resource allocation. Details on setting this up are in the Running Nano as a Service docs section.
Also included in v19 is the ability for the node to communicate with the live network using TCP. Moving away from UDP facilitates a reduction in bandwidth, offers lower resource usage, and opens up more efficient peering across the network. TCP is more widely supported across various types of networks and will allow for easier integrations. See the upgrade callout above and verify you have the proper network ports setup to take advantage of the live network over TCP.
A smart way to mitigate spam
Nano is fee-less by design, meaning everyone is free to use the network without their funds being eroded by transactional charges. This empowering quality creates an open and accessible network for people from all around the world to transfer value, but also makes it open to spam transactions which can have a negative impact on the network as it scales.
Nano already combats this by requiring accounts to perform a small amount of Proof-of-Work (PoW) before sending and receiving Nano, and Solidus takes this to the next level. By introducing Dynamic Proof of Work, the network can mitigate the impact of spam even further by providing mechanisms to track and increase the difficulty of PoW provided. This provides users with the ability to have their transactions prioritized and helps improve the Quality of Service on the network.
Strength, security, and foundations for the future
Another eagerly anticipated feature included in v19 is Confirmation Height, as it brings with it a broad range of improvements and lays the foundation for future feature development. Providing added security through block cementing and efficiency through the need for fewer elections, Confirmation Height will reduce network traffic and help enable easier ways for services to integrate Nano.
New recommended block explorer
Although not an official part of the release, during the development of Solidus the Nano Foundation announced support for a new recommended block explorer — NanoCrawler.
Nano Foundation now supporting NanoCrawler.cc
In May of 2018, Ryan LeFevre (AKA Meltingice) created nano.meltingice.net, a new block explorer where anyone could…
We encourage services and exchanges linking out to block explorers to consider using NanoCrawler going forward as it provides solid design and performance for referencing blocks, accounts and more.
The Solidus release is undeniably huge, and there is a wide range of other significant improvements to the protocol that we have looked at in more detail here:
V19 Solidus — Feature Analysis
With the Solidus release marching towards us at a steady pace, we could wait no longer to present some of the exciting…
For a fully comprehensive list of the features and improvements in Solidus then you can take a look through the complete changelog on our GitHub. The V19.0 Release Notes in our docs also help cover the highlights of the various changes and is recommended for review by all node operators, developers, and organizations integrating with Nano.
As we celebrate the launch of Solidus, we are also looking to the future and are already working towards Lydia, which will be our next exciting milestone release — and we look forward to sharing more details over the coming weeks.