Cardano typescript client implementation
- ouroboros mini-protocols necessary for chain syncronization
- ledger data
- headers
- blocks
- ledger state
-
lmdb
scheme (this will beindexedDb
in the browser) - worker (same as chain selection)
- read-only interface
- read-write interface
-
- header validation logic
- vrf
- ledger state integration
- consensus (Praos)
- chain selection
- volatile DB
- rollback handling
- peer worker (currently on main thread)
- mithril bootstrap
- network comunications
- browser-to-fullnode
- browser-to-browser via WebRTC
- mempool
- shared mempool
- tx validation (depends on ledger state)
- tx-submission mini protocol
- node-to-client
- miniprotocols
- local socket
- CIP integration for browsers
- immutable DB (not for browsers)
For more details on how to contribute, please refer to the CONTRIBUTING.md file.
Join our community discussions on Discord and stay updated on our progress through our GitHub Issues and Twitter.
This project is licensed under the terms of the LICENSE file.
-
Educational purposes, opening core development to a wider spectrum of developers.
-
serve as a base for nodes running in browsers
-
Extensibility, be the base for purpose specific nodes, that don't require all the work that a full node does, some examples 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.