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
<PackageReference Include="BrightChain.Engine" Version="0.0.0.6" />
paket add BrightChain.Engine --version 0.0.0.6
#r "nuget: BrightChain.Engine, 0.0.0.6"
// 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!)
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.
- https://apertureimagingcom-my.sharepoint.com/:w:/g/personal/jessica_mulein_com/EYoQU8qG_xlGpD0_A-mxhvoBqv3OylrfjeRAohvoC0gDQg?e=0U2XDa
- PDF https://github.com/BrightChain/blob/main/BrightChain-One-Pager.pdf as of 08/13/21 09:44 Pacfic time.
- Feedback welcome.
"Long-Paper"
The BrightChain "LongPaper" is longer and a work in progress, but goes into plain language detail on all aspects.
- https://apertureimagingcom-my.sharepoint.com/:w:/g/personal/jessica_mulein_com/EQGi-tzRmL9KotpkENN0OXcB5LQwpT7ox3vFo3eIJZrqcg?e=MZOanw
- PDF https://github.com/BrightChain/blob/main/BrightChain-LongPaper.pdf as of 08/16/21 13:00 Pacfic time.
- Feedback welcome of course.
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 | Versions 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. |
-
net6.0
- crockford-base32-core (>= 2.0.0)
- docfx (>= 2.58.4)
- EntCalc (>= 1.0.0)
- IdentityModel (>= 5.1.0)
- IdentityServer4 (>= 4.1.2)
- IdentityServer4.EntityFramework (>= 4.1.2)
- Microsoft.ApplicationInsights (>= 2.18.0)
- Microsoft.AspNet.Identity.Core (>= 2.2.3)
- Microsoft.AspNetCore.Identity.EntityFrameworkCore (>= 6.0.0-rc.1.21452.15)
- Microsoft.AspNetCore.Mvc.Versioning (>= 5.0.0)
- Microsoft.CodeAnalysis.Common (>= 4.0.0-3.final)
- Microsoft.CodeAnalysis.CSharp (>= 4.0.0-3.final)
- Microsoft.CodeCoverage (>= 16.11.0)
- Microsoft.Data.OData (>= 5.8.4)
- Microsoft.Extensions.Caching.Memory (>= 6.0.0-rc.1.21451.13)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0-rc.1.21451.13)
- Microsoft.Extensions.Logging (>= 6.0.0-rc.1.21451.13)
- Microsoft.Extensions.Logging.ApplicationInsights (>= 2.18.0)
- Microsoft.FASTER.Core (>= 1.9.6)
- Microsoft.Identity.Client (>= 4.36.1)
- Microsoft.IdentityModel (>= 7.0.0)
- Microsoft.IdentityModel.Tokens (>= 6.12.2)
- Microsoft.JSInterop (>= 6.0.0-rc.1.21452.15)
- Microsoft.OpenApi (>= 1.3.0-preview)
- Microsoft.Orleans.ProtobufNet (>= 3.5.0)
- NETCore.Encrypt (>= 2.0.9.1)
- OpenCover (>= 4.7.1221)
- Portable.BouncyCastle (>= 1.8.10)
- Schifra (>= 0.0.0.4)
- STH1123.ReedSolomon (>= 2.1.0)
- System.Buffers (>= 4.5.1)
- System.Collections.Specialized (>= 4.3.0)
- System.IO.Pipes.AccessControl (>= 6.0.0-preview.5.21301.5)
- System.Memory (>= 4.5.4)
- System.Memory.Data (>= 6.0.0-rc.1.21451.13)
- System.Net.WebSockets.WebSocketProtocol (>= 6.0.0-preview.1.21102.12)
- System.Runtime (>= 4.3.1)
- System.Runtime.Caching (>= 6.0.0-rc.1.21451.13)
- System.Security.SecureString (>= 4.3.0)
- System.Threading.AccessControl (>= 6.0.0-rc.1.21451.13)
- System.Threading.Channels (>= 6.0.0-rc.1.21451.13)
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 | 520 | 9/14/2021 |