ChaordicLedger

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.

|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