GithubHelp home page GithubHelp logo

mithrilman / mithrilshards Goto Github PK

View Code? Open in Web Editor NEW
18.0 5.0 5.0 4.42 MB

.NET 8 extensible P2P Network / Distributed services library.

Home Page: https://mithrilshards.mithrilman.com/

License: MIT License

C# 95.90% CSS 3.49% JavaScript 0.13% HTML 0.46% Batchfile 0.03%
p2p blockchain-technology blockchain dotnet webapi swagger

mithrilshards's Introduction

title description
Welcome
Mithril Shards home page

Mithril Shards

Goal

Mithril Shards goal is to implement a .NET 8 extensible P2P network & distributed services library from scratch with focus on architecture and performance.

Allows you to define custom network serialization protocol, easily handle payload messages and interact with the software leveraging any available features (named Shards) like Web API endpoints, cross platform Blazor UI, and a lot of other exciting stuffs that community can implements and release to the public too!

The project is very ambitious and it's currently developed just by me as a pet project but a huge effort has already been made and some part of this unique code base has been reused in other blockchain technologies to improve their performance.

As a proof of concept, a new Bitcoin full node is being developed using this library, actually hosted in this repository (it's a WIP project).

Current Tech

A random list of available tech used within Mithril Shards.

  • .Net 8 - ... for everything.
  • Bedrock Framework - TCP/IP default connectivity implementation.
  • Swashbuckle - to handle Web API in a configurable, multi-area environment and have a playground to test APIs with swagger.
  • Serilog - default logging implementation.
  • BenchmarkDotNet - a benchmark framework, very handy to benchmark different approach during implementation phases.

Why Mithril Shards?

Well... let's bullet some facts

  • I like fantasy a lot, J.R.R. Tolkien of course has been one of my reads and mithril is a fictional metal in his universe.
  • The main properties of mithri are: being very strong, light and in its pure form very malleable to work with.
  • I'm a developer who likes to engineer my software to be extensible and solid.
  • My github handle is MithrilMan, guess what?

Now take these information, mix them up, and you'll see that to I aim to have a robust, fast and flexible project! So this explain mithril, while about Shards, is because I see this project as a mix of shards that can be melted together to give you a precious artifact!

In fact you shouldn't be surprised that the root class is called Forge... who says we can't have a bit of fun while designing a software?

Call to Action!

!!! tip "Join to give feedback, ask for features, support, etc." Discord server: https://discord.gg/T9kyKz4bAu

CI

Current status
Main Build

mithrilshards's People

Contributors

mithrilman avatar wayalien avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mithrilshards's Issues

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.