Stratis Full Node¶
The Stratis Full Node is the backbone of the Stratis Platform. It implements both the STRAT and BTC protocol and maintains an up-to-date copy of the STRAT and BTC blockchains. Because of this, Full Nodes can:
- Autonomously and authoritatively validate blocks and transactions.
- Serve blocks and transactions to other peers on the STRAT or BTC blockchain networks.
The Full Node is open source software and is built in C# using the .NET Core platform. The design of the Full Node is modular and several of its features can be included or excluded from a build depending on requirements.
The audience for this document is anyone who wants to get involved with further developing the capabilities of the Full Node. Here are two reasons for getting involved:
- You want to contribute to ongoing development work on the Full Node project.
- You want to fork the source code and adapt it for your own project. For example, you might want to add a new feature or modify the block size.
A knowledge of C# is also assumed. However, if you are new to C# or even programming, you can continue to explore the Full Node as part of your C# learning experience. However, exploring Stratis Smart Contracts will give you “easier wins” and still enable you to have experience with blockchain-related code. More resources on the C# language are available here.
A background knowledge of peer-to-peer (P2P) computing including its uses prior to the invention of cryptocurrency will also be helpful.
The purpose of this document is to provide a high-level overview of the Full Node, so you can gain an idea of how the components work together. It does not touch on individual C# classes.
The Full Node is open source, and you can find the source here on GitHub: https://github.com/stratisproject/StratisBitcoinFullNode.
- Components and Features Overview
- Console Output
- Creating custom builds and extending the feature set
- Proof-of-Stake (PoS) implementation
- Proof-of-Authority (PoA) implementation
- Proven Headers
- Cold Staking