Pull-mirror of github.com/Sulkta-Coop/pallas. Canonical lives on GitHub; this is a LAN-fast read-only cache.
Find a file
2022-03-14 18:27:00 -03:00
.github build: Enable dependabot 2022-01-09 20:04:19 +01:00
assets chore: Add logo assets 2022-02-06 21:36:42 -03:00
examples feat: Introduce shared codec lib (#71) 2022-03-13 09:37:08 -03:00
pallas feat: Introduce shared codec lib (#71) 2022-03-13 09:37:08 -03:00
pallas-codec feat: Use DecodeOwned for improved ergonomic (#74) 2022-03-14 18:27:00 -03:00
pallas-crypto build(deps): update minicbor requirement from 0.14 to 0.15 (#72) 2022-03-13 15:42:28 -03:00
pallas-miniprotocols feat: Use DecodeOwned for improved ergonomic (#74) 2022-03-14 18:27:00 -03:00
pallas-multiplexer Release 0.7.0-alpha.0 2022-03-13 08:58:15 -03:00
pallas-primitives fix: Use minicbor int to represent metadatum ints (#73) 2022-03-13 16:12:38 -03:00
.gitignore chore: Merge mini-protocols into single crate (#40) 2022-02-06 21:13:35 -03:00
Cargo.toml feat: Introduce shared codec lib (#71) 2022-03-13 09:37:08 -03:00
LICENSE Fill in place holders 2021-12-02 19:55:54 -03:00
README.md chore: Merge Byron / Alonzo into single crate (#43) 2022-02-09 07:19:17 -03:00
rustfmt.toml Implement multiplexer and mini-protocols PoC 2021-11-20 11:33:45 -03:00

Pallas Logo Pallas Logo

Rust-native building blocks for the Cardano blockchain ecosystem

GitHub Crates.io GitHub Workflow Status

Introduction

Pallas is an expanding collection of modules that re-implements common Cardano logic in native Rust. This crate doesn't provide any particular application, it is meant to be used as a base layer to facilitate the development of higher-level use-cases, such as explorers, wallets, etc (who knows, maybe even a full node in the far away future).

Unboxing

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-multiplexer Multithreaded Ouroboros multiplexer implementation using mpsc channels
pallas-miniprotocols Implementation of the Ouroboros network mini-protocols state-machines

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-primitives Ledger primitives and cbor codec for the different Cardano eras
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

Pallas: (Greek mythology) goddess of wisdom and useful arts and prudent warfare;