Skip to content

The ChaordicLedger is the implementation of a design for a combination of Distributed Ledger Technology (DLT) and a Distributed File System (DFS) to create a secure, enterprise-grade platform for storing interlinked project artifacts.

License

Notifications You must be signed in to change notification settings

lmco/ChaordicLedger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI

ChaordicLedger

The ChaordicLedger is the implementation of a design for a combination of Distributed Ledger Technology (DLT) and a Distributed File System (DFS) to create a secure, enterprise-grade platform for storing interlinked project artifacts.

The development of this platform is in pursuit of the author's PhD research objectives.

Goal

The goal of this codebase is to establish a TRL Level 4 Proof of Concept (PoC) of integrating the distributed nature of the InterPlanetary File System (IPFS) with the permissioned, private nature of Hyperledger Fabric via industry-relevant smart contracts to achieve a macro-to-micro-scale view of large integrated systems in support of Systems Engineering, Configuration Management, Software Engineering, and Cost Account Management.

Getting Started

  1. Clone this repository
  2. Create a GitHub read token.
  3. Create a "githubReadToken.sh" script file in the repository's root directory with the following contents:
    export githubReadToken=ghp_YOUR_READ_TOKEN_HERE
  4. Run the reload.sh script.

Related Publications

Title Forum URL
ChaordicLedger: Digital Transformation and Business Intelligence via Data Provenance and Ubiquity Institute of Electrical and Electronics Engineers Systems Conference (IEEE SYSCON) 2022 https://ieeexplore.ieee.org/document/9773812
Distributed Ledgers in Developing Large-Scale Integrated Systems Institute of Electrical and Electronics Engineers Systems Conference (IEEE SYSCON) 2021 https://ieeexplore.ieee.org/document/9447136

Design Objectives

  1. The platform shall be portable.
    1. All deployment-specific attributes shall be specifiable at deployment time (e.g. from a pipeline)
  2. Test automation shall be implemented early and where practical.
  3. Free and Open-Source technologies shall be leveraged.
  4. Behavior and results are measurable and equatable.

Implementation Road Map

Item Implementation Status Documentation Status Pipeline Execution
Scripted generation of root certificate authority. ✔️ ✔️ ✔️
Scripted generation of node certificate signed by generated root certificate authority. ✔️ ✔️
Creation of Hyperledger Node ✔️ ✔️
Creation of hybrid Hyperledger/IPFS Cluster ✔️ ✔️ ✔️
Creation of RESTful API ✔️ ✔️ ✔️
Creation of Chaincode ✔️ ✔️ ✔️
Defining and Executing Simulations ✔️ ✔️
Gathering Key Performance Indicators (KPIs) ✔️ ✔️

Future Development Goals

  1. Diagnose/correct Java-based chaincode connectivity issues (may be due to proxy on corporate network or TLS configuration).
  2. Enable communication of multiple nodes across disparate networks.
  3. Enable role-based authorization.
  4. Enable TLS for chaincode.
  5. Enable use of specified Certificate Authority.
  6. Add API method for drill-down requests.
  7. Add served rendering of relationship graphs. Possible starting point https://github.com/wangkuiyi/graphviz-server
  8. Increase the TRL by executing the platform on edge-style hardware devices by way of third-party users.
  9. Refactor the codebase to use another form of scripted setup orchestration, such as docker-compose.

References

About

The ChaordicLedger is the implementation of a design for a combination of Distributed Ledger Technology (DLT) and a Distributed File System (DFS) to create a secure, enterprise-grade platform for storing interlinked project artifacts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages