BrightChain.Engine 0.0.0.6

dotnet add package BrightChain.Engine --version 0.0.0.6
NuGet\Install-Package BrightChain.Engine -Version 0.0.0.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BrightChain.Engine" Version="0.0.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BrightChain.Engine --version 0.0.0.6
#r "nuget: BrightChain.Engine, 0.0.0.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BrightChain.Engine as a Cake Addin
#addin nuget:?package=BrightChain.Engine&version=0.0.0.6

// Install BrightChain.Engine as a Cake Tool
#tool nuget:?package=BrightChain.Engine&version=0.0.0.6

BrightChain

(pre-alpha work in progress. Limited alpha testing coming soon!)

.NET Docker Image CI CodeQL Generate Documentation

A Lightweight BlockChain- LightChain based on a Brightnet Blockstore- BrightChain. All the benefits of blockchain dApps and contracts without the mining and waste. Unlimited storage for everyone, and a mathematically reinforced and moderated community that will last for the ages.

  • BrightChain Engine in C#/.Net 6 (Currently requires VS 2022 Preview, or IntelliJ Rider)
  • Uses Microsoft's FASTER
  • BrightNet BlockStore and API for BrightChain: The Revolution Network
  • Wiki: https://github.com/BrightChain/BrightChain/wiki
    • The old wiki has been copied/merged into the new wiki, but needs to be formatted and cleaned up.
  • Auto-generated documentation: http://apidocs.brightchain.org/api/index.html
    • Note that some of the classes don't have docblocks yet, but I've gotten many. The "TODO/example" text is in place as well, but if you click into the sections the content is there.

One-Pager

The BrightChain "One-Pager" is about 3 pages at the moment, but pending some slimming down is about as concise a document as I've put together.

"Long-Paper"

The BrightChain "LongPaper" is longer and a work in progress, but goes into plain language detail on all aspects.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Recent thoughts:

  • A lot of the reputation and resultant API throttling will be in the line of thinking with: https://en.wikipedia.org/wiki/Hashcash#Advantages_and_disadvantages
  • URLs are probably going to be base32 {address}.brightchain.net
  • Will have an alias registry for {alias}.brightchain.net - aka BrightChain DNS.
  • I think calling BrightChain a LightChain makes sense. it's a lightweight blockchain. It's got blockchain features people want, but without the actual overhead of blockchain, which is unnecessary.
  • If you haven't noticed- BrightChain is almost BrightChainS with an S. It's a pool of chains. Each with its own value.
  • Something I was implementing in the old code but haven't yet gotten to is also a deduplication for public blocks. Basically any chain that has its CBL block committed to the network will have the hash of the overall chain checked for deduplication.
  • API throttle will continue as planned to be mathematically rate limited by minimal proof of works for bad actors and an algorithm to determine the maximum request r/w rates.
  • Block consensus will be proof of stake
  • its more of a brightnet blockstore and an ethos... what it needs still is some math and a little more vision in the areas I'm not seeing.
  • The whole goal is to reward people who contribute good, frequently accessed content, the storage for it, etc.
  • Everything is tracked in terms of a unit called the Joule - wondering about using a micro-unit Jansky.
    • Attempting to be somewhat synonymous with the real work unit.
    • There should ideally be a direct maths.
  • Ultimately bad users are just bad blocks and will get flushed and expired out while good stuff will get extended on forever. They will have to work too hard for their network access/wasteful contribution/access and will leave.
  • It is not the necessity of this chain to store every bit forever. The chain is very transparent and ultimately when things do expire out if not needed by the system, others can easily back them up. Some blocks of course are immediately set immutable with a DateTime.MaxValue and don't need to be renewed.

Eventually

  • CLR dApps & Digital Contracts
  • Hope to provide a low-overhead digital contract / dApp ecosystem based on the CIL/CLR, without the computational overhead of traditional blockchain, making use of the efficiencies of Brightnet Blockstores and still benefitting from the power of blockchain like properties.

Disclaimers

  • This project is still pre-Alpha and is not suitable nor warranted for any level of fitness or function.
  • This project is not affiliated with GitHub, The DotNet Foundation, Microsoft, or any of its affiliates or holdings.
  • This software is open source, and offered as a "best-effort" thereoetical construct at this time and it may well lose all your data at this point in time.

Last Updated: <time class="timestamp" timestamp="ISO 8601 string">2021-08-26T10:23:55-0700</time>

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.0.6 590 9/14/2021