Nano Development Update — October 2020
By: Zach Hyatt
Tags: Bitcoin, Features, Blockchain, Nano, Cryptocurrency

With a busy summer of updates and releases behind us, we are looking forward to some improvements on the development side of the Nano Foundation as we get into the last quarter of 2020 and set the stage for Nano heading into 2021.

We are pleased to announce the following process updates being made to help external contributors better track and engage with the ongoing node and protocol development.

We will continue to engage on the topic to ensure efforts are headed in the best direction and aligned with the needs of our community of developers, so join us on the Nano forum and keep the discussion going.

External development transitions

A big congratulations to Guilherme Lawless, who is taking on an amazing new opportunity in his chosen career field outside the Nano Foundation. As we wish him the best on this exciting endeavor, Guilherme will resume as an external contributor, being among the first to utilize some of the helpful process changes we’ve been preparing in recent months, starting with…

Development roadmap improvements

We have identified several improvements to our development process to make it easier to stay updated and track the latest node and protocol update plans for Nano.

Tracking bigger features

Similar to how features are currently outlined in broad terms, we will continue to distill groups of the most impactful enhancements together via GitHub Issues where appropriate. A dedicated roadmap repository has been setup for handling some of these roadmap items that would otherwise clutter or are not suitable in the main node repository.

This structure will also allow us to push out smaller updates as needed into individual tickets. To keep these updates as visible as possible, the tickets will be locked for commenting, and conversation about their implementation will be handled in related tickets and discussions in other channels such as the Nano forum.

Bringing it together with projects

Given the multiple repositories that can hold issues and PRs related to the roadmap, we have setup a GitHub Project board to manage the Nano Roadmap under the broader Nano GitHub organization. Details of how the board is organized and maintained can be found in the Nano Roadmap README. The Nano Roadmap project is now the main resource for seeing what is coming for improvements to Nano.

Network upgrades

Not only are targeted releases included in the project board, but potential network upgrades are as well. These upgrade columns will help give an idea of what features may be getting activated when, and the tickets will contain details of how the upgrade is expected to occur. See the Roadmap README for more details.

What’s changing on the roadmap

What you will find on the roadmap today represents the current scope of V22 Siliqua and the various items that had previously existed on the roadmap. There are a few removals and changes worth mentioning:

Dual-phase voting — after exploring the feasibility of having a negotiation and final voting phase for each election, the approach was determined to be inefficient. Alternatives that don’t require as much resource usage for packaging votes are being explored as a replacement.

— after exploring the feasibility of having a negotiation and final voting phase for each election, the approach was determined to be inefficient. Alternatives that don’t require as much resource usage for packaging votes are being explored as a replacement. Durable vote snapshots — as this feature was somewhat dependent on final votes from the Dual-phase voting approach, it was also removed from the roadmap. However, there is still interest in potential snapshot-type features in the future, although none are currently under research.

There is more to come, so keep an eye out for some additions to be expanded on in another update soon. In the meantime, head over to the Roadmap GitHub Project to explore the setup further.

Development process visibility

Since the beginning of development on the Nano protocol in May 2014 the source code has been under Open Source Initiative (OSI) approved licenses (BSD-2-Clause, BSD-3-Clause) and developed via an open source mindset. We want to ensure this philosophy of accessibility to development continues to improve. In this update, we will cover testing changes as the improvements will be immediately felt.

Beta builds tracking

We recently began using the same Github Projects setup used for the Roadmap to better track build contents and their testing status. As features are approved and merged into the develop branch, or ready to be tested on the beta network ahead of merging, they will now be added to the related V##.#DB# project board. Using various columns in the board, the status of each items testing completion and release readiness will be tracked and visible for contributors.

Development build tracking project for V22.0DB7

This can be seen in action right now with the V22.0DB7 Project capturing details of the next planned development build. Additional projects can be found in the Nano Organization Projects list.

Test network

The beta network has been the only accessible test network for Nano to date, but this week we have brought a new one online to better serve the ecosystem. The new “test network” will have the same work difficulty as the main network and remain on the latest public release or Release Candidate (RC) build — no development builds will be deployed.

This will provide a more stable environment for basic testing, allowing developers to more quickly refine their integrations for production environments. The beta network will remain as the proper place to perform load tests and try out new, potentially breaking features.

For more details on how to access this new resource, check out the Test Network documentation.

Beyond testing

The testing updates above are sure to be a welcome improvement for developers and contributors of all kinds and additional changes are coming to improve the overall experience of engaging with the Nano project. Over the coming weeks, these will also be outlined as more progress is made on V22 Siliqua, and the transition to the V23 development cycle ramps up.

These efforts will be a work in progress as they are implemented, so if you have thoughts or feedback on their direction please join discussions on our forum.

Documentation

As a final note, we’d like to mention some noticeable changes to docs.nano.org, starting with the addition of a dark mode! Just click the sun/moon icons in the top bar and you can relieve your eyes a bit with a darker theme. You may also notice that navigation has changed with new tabs across the top bar. As our docs have grown, we thought this setup would better organize the increasing number and complexity of pages, we hope you agree!

New dark mode and tabs available on the Nano Documentation site

And you may also notice an expansion of a few sections, specifically Protocol Design and Node Implementation. These are the two major portions of the new Living Whitepaper, a replacement for the original outdated whitepaper that is coming together in large part to the help from community member Patrick ‘Qwahzi’ Luberus — thanks for your great efforts here! And a big thanks to all our other contributors in the ecosystem!

If you are interested in helping contribute to the network — whether on node and protocol updates, beta testing, documentation tweaks, or utilizing Nano in your service — please connect with our community and team on GitHub, Discord, the forum, and elsewhere.