Skip to content

HarmonicLabs/cnode-ts-poc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cardano Node Proof of Concept implementation in Typesript

The goal

To have a fully working passive cardano node (ideally before January 25th) as described in the ouroboros-consensus documentation and represented in the diagram reported below

flowchart LR
    ChainSel["Chain Selection"]
    UPA["Upstream Peers Adapter"]
    BP["ChainDB"]

    ChainSel --"H(L)"--> UPA --"B"--> ChainSel
    ChainSel --"B"--> BP --"O(L)"--> ChainSel

    BP -."B".-> ChainSel
    BP -."I(L)".-> ChainSel
Loading

Legend:

flowchart LR
    Publisher
    Subscriber
    Requester
    Server
    a[" "]
    b[" "]
    c[" "]
    d[" "]

   Publisher -- latest payload --> Subscriber
   Server -. requested payload .-> Requester

   a -- "B = Block" --> b
   a -- "L = Ledger State" --> b

   c -- "H(X) = Header of X" --> d
   c -- "I(X) = Only during Initialization" --> d
   c -- "O(X) = occasionally pushing X" --> d
Loading

Why?

This project will serve as a base for many other goals:

  1. proving the feasibility of the following Catalyst F11 proposals:

  2. serve as base to then extract the only missing component for a proper typescript cardano node ( the consensus component, as the network can be found here, and the ledger here )

  3. serve as a base to then extract the "runtime indipendent" code and have a passive node running in browsers (future project)

  4. be the example project for future, purpose specific nodes, that don't require all the work that a full node does, some examples (just on top of my head) could be:

    • light weight node following only the tip of the chain (example usages: some mini-protocols servers or ad-hoc chain indexer saving blocks elsewhere)
    • node that only keeps the ledger state, for optimal UTxO queries
    • etc.

About

Cardano Node Typescript Proof of Concept implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published