Code Monkey home page Code Monkey logo

stratisbitcoinfullnode's Introduction

Windows Linux OS X
Windows build status Linux build status OS X build status

Stratis Bitcoin

https://stratisplatform.com

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()
   .UseNodeSettings(nodeSettings)
   .UseConsensus()
   .UseBlockStore()
   .UseMempool()
   .AddMining()
   .AddRPC()
   .Build();

  node.Run();

What's Next

We plan to add many more features on top of the Stratis Bitcoin blockchain: Sidechains, Private/Permissioned blockchain, Compiled Smart Contracts, NTumbleBit/Breeze wallet and more...

Running a FullNode

Our full node is currently in alpha.

git clone https://github.com/stratisproject/StratisBitcoinFullNode.git  
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

Development

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.

Testing

CI build

We use AppVeyor for our CI build and to create nuget packages. Every time someone pushes to the master branch or create a pull request on it, a build is triggered and new nuget packages are created.

To skip a build, for example if you've made very minor changes, include the text [skip ci] or [ci skip] in your commits' comment (with the squared brackets).

If you want get the โœจ latest โœจ (and unstable ๐Ÿ’ฃ) version of the nuget packages here:

stratisbitcoinfullnode's People

Contributors

dangershony avatar bokobza avatar aprogiena avatar fassadlr avatar nicolasdorier avatar noescape00 avatar quantumagi avatar mikedennis avatar neurosploit avatar codingupastorm avatar rowandh avatar thefazzer avatar majikandy avatar fenix2222 avatar monsieurleberre avatar nopara73 avatar ferdeen avatar derrick- avatar mithrilman avatar kogot avatar zeptin avatar tjadenfroyda avatar detroitpro avatar arcsin2000x avatar stratisdeveloper avatar 345james avatar dangould avatar r3lik avatar sgryphon avatar dogaoztuzun avatar

Watchers

James Cloos avatar STYLIANOS IORDANIS avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.