Add unboxing info to readme

This commit is contained in:
Santiago Carmuega 2021-11-27 15:37:34 -03:00
parent b0a5cdc470
commit df41d7cbd8

View file

@ -11,16 +11,37 @@ development of higher-level use-cases, such as explorers, wallets, etc (who
knows, maybe even a full node in the far away future).
## Unboxing
| Crates | Description |
|---------------------|----------------------------------------------------------------------------------|
| [pallas-machines](/pallas-machines) | A framework for implementing state machines for Ouroboros network mini-protocols |
| [pallas-multiplexer](/pallas-multiplexer) | A multithreaded Ouroboros multiplexer implementation using mpsc channels |
| [pallas-handshake](/pallas-handshake) | An implementation of the Ouroboros network handshake mini-protocol |
| [pallas-blockfetch](/pallas-blockfetch) | An implementation of the Ouroboros network blockfetch mini-protocol |
| [pallas-chainsync](/pallas-chainsync) | An implementation of the Ouroboros network chainsync mini-protocol |
| [pallas-txsubmission](/pallas-txsubmission) | An implementation of the Ouroboros network txsubmission mini-protocol |
| [pallas-alonzo](/pallas-alonzo) | Ledger primitives and cbor codec for the Alonzo era |
| pallas | An all-in-one crate that re-exports the other ones in an ordered fashion |
The repository is organized as a Cargo workspace. Each _Pallas_ "building block" lives in its own crate. The root `pallas` crate serves as an all-in-one dependency that re-exports all of the other modules in an hierarchically organized fashion, using Cargo `features` to tailor the setup for each use-case.
As already explained, _Pallas_ aims at being an expanding set of components. The following tables describe the currently available crates, as well as the planned ones.
### Ouroboros Network
| Crates | Description |
| ------------------------------------------- | -------------------------------------------------------------------------------- |
| [pallas-machines](/pallas-machines) | A framework for implementing state machines for Ouroboros network mini-protocols |
| [pallas-multiplexer](/pallas-multiplexer) | Multithreaded Ouroboros multiplexer implementation using mpsc channels |
| [pallas-handshake](/pallas-handshake) | Implementation of the Ouroboros network handshake mini-protocol |
| [pallas-blockfetch](/pallas-blockfetch) | Implementation of the Ouroboros network blockfetch mini-protocol |
| [pallas-chainsync](/pallas-chainsync) | Implementation of the Ouroboros network chainsync mini-protocol |
| [pallas-txsubmission](/pallas-txsubmission) | Implementation of the Ouroboros network txsubmission mini-protocol |
### Ouroboros Consensus
| Crates | Description |
| ----------------- | --------------------------------------------------------- |
| pallas-leadership | Implementation of the slot leadership selection algorithm |
| pallas-selection | Implementation of the consensus chain-selection algorithm |
### Ouroboros Ledger
| Crates | Description |
| ------------------------------- | ----------------------------------------------------------------------- |
| [pallas-alonzo](/pallas-alonzo) | Ledger primitives and cbor codec for the Alonzo era |
| pallas-ticking | Time passage implementation for consensus algorithm |
| pallas-applying | Logic for validating and applying new blocks and txs to the chain state |
| pallas-forecasting | Ledger forecasting algorithm to be used by the consensus layer |
## Etymology