NanoTicker

Why Nano node versions matter

The Nano network runs two independent node makes with separate version numbers, the C++ node and the Rust node. What that means for reading version data.

The C++ node is the original Nano node and runs most of the network, currently at V28.2. RsNano is a separate Rust implementation on its own numbering, currently at V3.1. Both are current, so the two numbers cannot be compared.

Two node makes, one network

A Nano node is any program that speaks the Nano protocol. Two are in wide use, and a representative may run either:

  • The C++ node, the reference implementation maintained by the Nano Foundation. Nearly all representatives run it.
  • The Rust node, RsNano, a port of the C++ node run as its own project. It numbers releases from scratch, which is why its version is lower.

A node on V3.1 is not behind one on V28.2. It is a different program, up to date. Each node is graded against the newest release of its own make, and the versions page tags them "Latest release" and "Latest Rust release".

Why two implementations help

If every node runs the same software, every node shares its bugs, and one defect could halt the network.

RsNano is a port, not a clean-room rewrite, so both share design decisions and a reading of the protocol, and a flaw there affects both. What differs is the implementation: memory model, libraries, concurrency, and the bugs in them.

Why old versions matter

Releases carry protocol fixes, performance work and changes to how nodes talk to each other. A rep left behind is not only missing improvements:

  • It may confirm blocks more slowly.
  • It may fall behind on cementing, leaving a backlog.
  • It may miss a fix other nodes already have.

Influence follows voting weight, so one large rep on an old release matters more than a dozen small ones. The versions page splits by weight as well as node count.

Where the data comes from

Nodes broadcast telemetry describing themselves: version, peer count, ledger size. Everything on the versions page is self-reported.

Nodes reporting nothing show as Unknown. That means no telemetry arrived, not an old version, so they are left unrated.

How upgrades roll out

Weight moves onto a new release over days or weeks as operators upgrade. Version changes are recorded as they happen and listed under the version breakdown. Version is one of the six inputs to a rep's health score.

Release candidates appear first. They are tagged "Unreleased version" and left out of the latest-version share, since the release they preview is not out.

See live node versions