Skip to content

revoltez/Blocksharp

Repository files navigation

Blocksharp

Actor based, horizontally scalable Blockchain using Akka.net.

This Blockchain uses pBFT (practical byzantine fault tolerance) consensus Algorithm

Note this project is still under development

why not OOP

Designing big scalable distributed systems requires a model that is distributed by default.

The traditional object-oriented programming paradigm makes it harder to create such systems and raises huge and big problems, more detailed informations can be found here What Problems Does the Actor Model Solve?

tools

  • Entity core as the ORM (object relational mapper)
  • Mysql database
  • Akka.net
  • Nsec (cryptography library)

Prerequisites

  • basic knwoeldge on Akka.net and akka.remote
  • c#
  • docker
  • kubernetes, minikube must be installed to test locally

project structure

  • the PBFT folder represents the consensus engine

  • startupserver folder (acts as bootstrap node, used to easily connect validators)

  • BlockchainTypes folder: a library that groups all the used types in this project.

  • kubernetesconfigs is a folder that contains few shell scripts to automate the building process

Actor hierarchy

  • as we all know actors form a hierarchy and the following diagram is the actor hierarchy of the blockchain actor hieararchy

screenshots of a voting system

  • processing PBFT certificates PREPREPARE

  • counting votes Counting Vote

  • Receiving client transactions transactions Added

  • view change View Change

contact information

email : salih.houadef@gmail.com linkedin : www.linkedin.com/in/houadef-salih

About

Actor based, horizontally scalable Blockchain using Akka.net.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published