Stratis Bitcoin Full Node for .Net Core in C# Goes Live

Stratis Group Ltd. announced this week that it has officially released the Alpha version of the Stratis Bitcoin Full Node. Built on Stratis Mainnet, it will give developers from around the world, the possibility of building the most advanced blockchain applications by incorporating capabilities from the Stratis Privacy, Security and Identity Protocol.

Building the Blocks

Stratis has adopted a modular approach to the development process of the Stratis Application Framework, a streamlined approach for faster and incremental releases.

On this regard, the Stratis Bitcoin Full Node plays an essential role as the foundation upon which other modules of the Stratis blockchain solutions can be easily and rapidly assembled into the most basic demo or the most sophisticated financial application.

This update released from the Stratis Development team includes the addition of key components to the Stratis Bitcoin Full Node, namely:

  • Mempool
  • Network
  • Blockstore

In addition, the Stratis Full Node has been activated on the Mainnet, providing a full SDK that allows developers to start testing their blockchain apps on live blockchain conditions.

Stratis Privacy, Authenticity and Identity Protocol

Currently under development, the Stratis Privacy, Authenticity and Identity protocol, includes capabilities inherited from the Tumblebit integration into Stratis, such as, enhanced privacy and off-chain transactions support.

Stratis plans to release several proof-of-concept projects this year, together with some strategic partners, in which to showcase these advanced features. The Stratis Privacy Protocol, an integration of the Tumblebit on the Stratis Full Node and Bitcoin networks, will be the first proof of concept offering a long awaited enhanced and secure privacy solution for cryptocurrencies. Currently being implemented into the Breeze Wallet, Stratis plans to extend its application to authentication and identity solutions for the enterprise and major corporate clients.

These implementations are not only positive additions to the Stratis portfolio of technological advancements, but also will serve as a production environment where latest improvements to the Bitcoin network can be tested.

Integration with C# and .Net Core Tools

Written with C# and .Net Core developers in mind, the Stratis Bitcoin Full Node opens to developers from around the world the opportunity to start developing blockchain applications within a familiar environment for them and their clients. If you are a C# developer, and would like to start coding your first blockchain app, we invite you to join our Slack. Our developers there will be more than happy to guide you and help you get started with the installation and operation of the Stratis Bitcoin Full Node.

We also want to take this opportunity to invite developers to attend our presentations and meet with us at the C# Annual Conference in India. This is one of the major C# / .Net developers events in the world, and we are thrilled to be presenting Stratis to such reputable audience.

A Blockchain is made of many components, from a Full Node that validates blocks to a Wallet that tracks addresses. Our objective is to offer a set of Nuget packages, from which an implementer can cherry pick what he/she needs. On this regard, we have made available a Nuget for the Alpha Release that can be found here.

The Road Ahead

The Stratis team has plans to add many more features on top of the Stratis Bitcoin Full Node. Starting with a sleek GUI for Stratis Wallet (due in aprox. 4 weeks) and later for the Breeze Wallet (due in aprox, 8 weeks), we are methodically putting together the pieces for the most advanced features to be offered on the Stratis Platform: POS/DPOS, Sidechains, Private/Permissioned blockchain, Compiled Smart Contracts, etc. These features, will undoubtedly bring us closer to offer purpose-built Blockchain solutions in a very short time-frame.

Included in this release (V1.0.1-alpha)

  • Stabilizing the consensus validation and block download code.
  • Signaling of new blocks and transactions that are discovered on the network.
  • Block Store is stand alone:
  • Store can respond to GetData payloads enabling FullNode capabilities.
  • Push blocks in batches to disk.
  • Download missing blocks from the network (catch-up mode).
  • Broadcast blocks to peers using Inv or Header payload
  • Cache store for faster block reads.
  • Memory Pool:
  • Async lock free implementation of the memory pool.
  • Logic and tests pulled form core.
  • Broadcast transactions to peers.
  • Fee estimation.
  • Introducing the Builder Pattern:
  • Build a full node in an easy and familiar builder pattern in a modular approach.
  • Support for creating new features inject-able to the full node.
  • Dependency Injection
  • Testing
  • Adding many more unit tests
  • A separate integration test project
  • Full Block SPV
  • Laying the grounds for a full block spv (for Breeze wallet)

Links:

Project Repository: https://github.com/stratisproject/StratisBitcoinFullNode/releases/tag/V1.0.1
Getting Started / Installation Guide: https://github.com/stratisproject/StratisBitcoinFullNode/blob/master/Documentation/getting-started.md

Acknowledgements:

We would like to thank Nicolas Dorier for all of his work for the Stratis Bitcoin Full Node. Also we would like to thank our other team members Dan Gershony, Pieterjan Van Hoof and Jeremy Bokobza for their outstanding work on the different modules. Special mention to our collaboration with Adam Ficsor as well as other participants from the Tumblebit project, which have been actively supporting the implementation. And last but certainly not least we would like to thank our community members for helping testing the Stratis Bitcoin Full Node and providing support to our team.