https://github.com/tatmanblue/ironbar
.NET core distributed ledger application
https://github.com/tatmanblue/ironbar
aries blockchain blockchain-technology csharp distributed-systems docker-compose docker-container dotnetcore grpc identity identity-framework kubernetes kubernetes-cluster ledger self-sovereign-identity ssi tilt
Last synced: 2 months ago
JSON representation
.NET core distributed ledger application
- Host: GitHub
- URL: https://github.com/tatmanblue/ironbar
- Owner: tatmanblue
- License: apache-2.0
- Created: 2019-10-04T19:24:07.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-01-07T15:05:30.000Z (over 1 year ago)
- Last Synced: 2025-02-04T18:15:50.785Z (over 1 year ago)
- Topics: aries, blockchain, blockchain-technology, csharp, distributed-systems, docker-compose, docker-container, dotnetcore, grpc, identity, identity-framework, kubernetes, kubernetes-cluster, ledger, self-sovereign-identity, ssi, tilt
- Language: C#
- Homepage:
- Size: 834 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Codeowners: CODEOWNERS
- Security: security.txt
Awesome Lists containing this project
README
# Iron Bar
[](https://deepwiki.com/tatmanblue/ironbar)
Iron is synonym for chain and bar is a synonym for block. This project
is to develop a [distributed ledger technologies](https://www.investopedia.com/terms/d/distributed-ledger-technology-dlt.asp) that can be used in various scenerios
like games, or [SSI system](https://sovrin.org/faq/what-is-self-sovereign-identity/) and so on. Given there will be a plug-in model for extending core behaviors,
the use cases are more varied.
### Architectural Goals
1. Server components can run on any OS
2. Secure using latest encryption standards
3. Client connectivity from any operating system
4. New use cases can be added by plug-in pattern
5. Simple to understand both in nomenclature and implementation
# Status
Prototype/irregular updates
This project is being updated with new functionality on an irregular basis. Please review [work.md](docs/WORK.md)
for details on goals and progress towards those goals. There is no regular release schedule in place. Work is completed on an adhoc schedule.
The architecture of this project is still being worked out therefore there are parts that are ugly, incomplete, and even just wrong. This is due in part, several ideas started but not completed and designs started and not finished.
I do make corrections and improvements as I work through implementing changes. My apologizes for the scattered state of the project.
## File Revision
2026.03.15
# License
The [license](LICENSE.md) included applies only to the files in this repo. As the documentation states in the repo [readme.md](README.md), specific 3rd party assets are required to build and run
the libraries and demos in this project. The license here does not apply to 3rd party assets. You agree to purchase those assets and abide by their licensing terms.
```
Copyright 2026 Matthew Raffel
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
## Legal
If you have any questions about the content of the repository, please email [matt.raffel@gmail.com](mailto:matt.raffel@gmail.com). I can assure you all content has been developed by me or purchased and licensed to me. Proof will be made available on request. Repeated DCMA counterfit and harassment claims will result in counter suits per Section 512(f) of the DMCA penalties for _misrepresentation can include actual damages and attorney’s fees_.
## build status
[](https://app.circleci.com/pipelines/circleci/6jcGFZ8866N3tDJ2DZL5q9/R4Wms16RDc8pLMdjPv3P8w)
# Development
You can use any editor. Solution and project files are included for use with
Visual Studio (both PC and Mac). If you chose to use a different IDE please
make sure the solution and projects files are correctly updated in your pull request.
> dotnet --version
> 10.0.103
# Source Code Structure/Projects
### Nodes
Nodes are center piece of `Iron Bar`. They handle all of the block chain transactions.
One running node will be sufficient to use `Iron Bar`, but that is not the intended design. At this time, it has not
been determined which configuration is optimal. The goal is several nodes working together with one node
as the controller or boot node and the others functioning as creating block nodes and validation nodes.
The bootnode is responsible for delegating work to additional nodes as well as acting as the public endpoint to apps consuming `Iron Bar`.
The remaining nodes will be responsible for blockchain management: creating new chains, validating , and distributed storage of chains (distributed block chain ledger).
When a new block is created, the bootnode will assign validation to all nodes.
When there is only 1 node, the bootnode handles it all and there is no distributed block chain ledger.
### Consuming Iron Bar services
This is to be worked out, if the project is to continue.
1. gRPC clients should be able to interact with iron bar directly.
2. A separate webapp with both UI and RESTful api that will also allow for consuming iron bar services.
### Iron bar supports AI with the MCP host process.
Please see the [MCP doc](docs/MCP.md) for details on how to use the MCP host process to run AI agents that can interact with iron bar. The MCP host process is a separate process that can be used to run AI agents that can interact with iron bar through gRPC. This allows for AI agents to be developed and tested independently of the iron bar core, while still being able to interact with it.
### The plug-in architecture
Iron bar is designed to be extensible through plug-ins. See the [plug-in doc](https://github.com/tatmanblue/ironbar/blob/master/docs/PLUGINS.md) for
more details.