The nano beta network and what's it for ?

The Beta Network serves as a testing ground where new nano-node versions are tested regularly.

Before a new version is live, one or more release candidates are deployed to the Beta Network and undergo a series of tests by beta node operators.
With around 10% of the node count of the live network, the Beta Network provides a real-world environment to validate new node versions.

In the past, these tests have been mainly manual.

  • Users simulate high network traffic by publishing lots of blocks.
  • Results are visually compared to testruns of previous versions.

Beta Tools (Explorer, Wallets, Visualizer)

Over the past six months, I have been working on improving the ease of use of the nano beta network and on introducing automated testing.
To this end, I have forked the respective GitHub repositories to have:

In addition, the Beta Network is used to validate node changes before a new version is released.
To aid in identifying and troubleshooting potential issues that occur during beta tests, we increased the detail of available node telemetry.
This includes dashboards with both simple and advanced telemetry provided by the nodes.

With the help of these advanced metrics, we now can

  • compare the behavior of beta nodes in detail,
  • identify how well each beta node performs,
  • test how changes in configurations impact the outcome of any given test,
  • identify portential causes of any arising issue

Automated Beta testing

I introduced a small daily speedtest that publishes 7500 blocks on each run and measures the confirmations per second (cps) of the network.

In the graph below we can see the daily cps rate.

The speed-test itself is not 100% stable so the rate at which blocks are published to the network (bps) is not stable from day to day. It varies from about 300 to 1k bps
This explains the spikes in cps which follow the rate at which blocks are published.

If you like my work, please show your love 💛