3wayHimself / ChainLib

A general purpose blockchain programming library for .NET Standard 2.0.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FOSSA Status

ChainLib

A general purpose blockchain programming library for .NET Standard 2.0.

The goal of the project is to be a useful library for creating blockchains for various purposes, outside of crypto-economics, i.e. no work proofs.

"White label" blockchains may be created using JSON definitions, such as:

{
  "name": "MyChain",
  "storageEngine": "sqlite",
  "storageDirectory": "",
  "genesisBlock": {
    "timestamp": 1465154705,
    "objects": [],
    "previousHash": [ 0 ],
    "hash": [ 223, 200, 53, 69, 156, 0, 241, 84, 112, 105, 230, 141, 19, 145, 92, 120, 96, 73, 218, 216, 195, 150, 243, 213, 69, 192, 77, 148, 75, 47, 111, 149 ]
  },
  "proofOfWork": "none",
  "hash": [ 209, 47, 27, 131, 77, 179, 186, 26, 35, 127, 46, 150, 242, 141, 251, 47, 70, 14, 188, 126, 33, 176, 205, 113, 72, 50, 50, 139, 71, 9, 188, 181 ]
}

Third Party Software

Initially based on an idiomatic port of https://github.com/conradoqg/naivecoin for .NET Core, licensed under Apache 2.0 License terms are available here: https://github.com/conradoqg/naivecoin/blob/master/LICENSE

This code relies on lib-sodium for cryptography: https://github.com/adamcaudill/libsodium-net, licensed under MIT. License terms are available here: https://github.com/adamcaudill/libsodium-net/blob/master/LICENSE

WarpWallet support uses self-contained SCrypt and PBKDF2 functions written by James F. Bellinger, licensed under MIT. License terms are available here: https://github.com/danielcrenna/ChainLib/blob/master/src/ChainLib.WarpWallet/Internal/SCrypt.cs

About

A general purpose blockchain programming library for .NET Standard 2.0.

License:Other


Languages

Language:C# 93.5%Language:HTML 6.0%Language:CSS 0.4%Language:JavaScript 0.1%