Core Development¶
Welcome and thanks for your interest in core development of the nano! The following resources contain information and guides for getting involved with the development of the node and protocol.
Getting started¶
It is recommended to have an understanding of how the nano protocol is designed to work so the code can be more easily read and evaluated.
- Start by reviewing the living whitepaper
- Read through (or try out) the running a node guides
- Understand the basics and maybe even some advanced details about integrations
- Learn how to build the node yourself
- Participate in the community through Discord and the Forum
- Start perusing the code in the repositories below and don't be afraid to ask questions
Code repositories¶
The Nano Foundation manages the nanocurrency
GitHub Organization account which includes various repositories for nano tools and implementations. Below is a partial list of the most common repositories referenced.
Name | Language | Purpose |
---|---|---|
nanocurrency/nano-node | C++ | Primary node implementation used on the nano network |
nanocurrency/nano-work-server | Rust | Standalone server for generating work values for blocks |
nanocurrency/protocol | Kaitai Struct | Specification for nano network message protocol |
nanocurrency/nanodb-specification | Kaitai Struct | Specification for database tables and fields used by the nano-node implementation |
nanocurrency/nano-docs | Markdown | MKDocs based documentation this docs.nano.org site is built from |
Most of the content in the following documentation is focused around the nanocurrency/nano-node repository, as that is where most development activity occurs. But there are tons of related projects creating useful tools, libraries, services and more for the nano ecosystem (see some options in GitHub).
Security vulnerability reporting¶
Submit vulnerabilities privately
Do NOT discuss potential security vulnerabilities on the issue tracker, public forums or open discussion channels. Submit sensitive issues privately to the Nano Foundation for review.
If you discover a bug you believe to pose a security risk to the Nano network, please contact security@nano.org with a proof of concept with full details of the bug including:
- Repository of the bug
- High-level summary
- Detailed description
- Steps to reproduce
- Supporting material/references
- The potential security impact of the bug
It is strongly recommended to encrypt the email using GPG and the pubkeys for this purpose can be found on the SECURITY file in the node repository. The Nano Foundation will work to determine potential impacts and coordinate resolution in a node release.
Nano Foundation core developers¶
In addition to contributions from the wider nano community, the Nano Foundation manages a team of core developers who contribute to the protocol and primary node implementation. For a list of code contributors, see the GitHub Insights page.