Bitcoin full node in C#

starsStars 736
forksForks 312
watchersWatchers 736
current-versionCurrent version
total-releasesTotal releases 10
open_issues_countOpen issues 163
dateFirst release 2017-01-19
dateLatest release 2020-11-30
updateLast update 2020-12-16
Windows MacOs Ubuntu64
StratisMain Nightly

Stratis Bitcoin

Bitcoin Implementation in C#

Stratis is an implementation of the Bitcoin protocol in C# on the .NET Core platform.
The node can run on the Bitcoin and Stratis networks.
Stratis Bitcoin is based on the NBitcoin project.

For Proof of Stake support on the Stratis token the node is using NStratis which is a POS implementation of NBitcoin.

.NET Core is an open source cross platform framework and enables the development of applications and services on Windows, macOS and Linux.

Join our community on discord.

The design

A Modular Approach

A Blockchain is made of many components, from a FullNode that validates blocks to a Simple Wallet that track addresses. The end goal is to develop a set of Nuget packages from which an implementer can cherry pick what he needs.

  • NBitcoin
  • Stratis.Bitcoin.Core - The bare minimum to run a pruned node.
  • Stratis.Bitcoin.Store - Store and relay blocks to peers.
  • Stratis.Bitcoin.MemoryPool - Track pending transaction.
  • Stratis.Bitcoin.Wallet - Send and Receive coins
  • Stratis.Bitcoin.Miner - POS or POW
  • Stratis.Bitcoin.Explorer

Create a Blockchain in a .NET Core style programming

  var node = new FullNodeBuilder()


Running a FullNode

The master branch is actively developed and regularly committed to, and it can become unstable.
To compile a stable (production) release use any of the release tags form version 3.0.x.x and upwards.

git clone  
cd StratisBitcoinFullNode\src

dotnet build

To run on the Bitcoin network:

cd Stratis.BitcoinD
dotnet run

To run on the Stratis network:

cd Stratis.StratisD
dotnet run

Getting Started Guide

More details on getting started are available here


Up for some blockchain development?

Check this guides for more info:

There is a lot to do and we welcome contributers developers and testers who want to get some Blockchain experience. You can find tasks at the issues/projects or visit the dev_general channel on discord.