Pull-mirror of github.com/Sulkta-Coop/pallas. Canonical lives on GitHub; this is a LAN-fast read-only cache.
Find a file
Lucas 7fada705a0
feat: Move flat en/de from aiken to pallas (#303)
Nothing new is going on within the code itself.
I simply popped the crate into pallas_codec
as a submodule `pallas_codec::flat`. I also moved
over the tests that we had in the crate. In general
this is in solid shape and hasn't had any changes for
months. That said there could be some things that require love
like dealing with BigInt.

Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-10-04 19:08:52 -04:00
.chglog docs: Add retroactive change log 2022-04-29 20:34:12 -03:00
.github ci: run Rust check on multiple OS (#286) 2023-09-10 22:15:35 -03:00
assets chore: Add logo assets 2022-02-06 21:36:42 -03:00
examples chore: fix lint warning (#283) 2023-09-07 09:39:18 -03:00
pallas chore: include configs in main crate (#299) 2023-10-04 11:20:28 -03:00
pallas-addresses feat: improve access to genesis utxos (#302) 2023-10-04 14:40:51 -03:00
pallas-bech32 chore: Fix lint warnings for all targets (#240) 2023-03-24 06:59:49 -03:00
pallas-codec feat: Move flat en/de from aiken to pallas (#303) 2023-10-04 19:08:52 -04:00
pallas-configs feat: improve access to genesis utxos (#302) 2023-10-04 14:40:51 -03:00
pallas-crypto feat: generate genesis utxos from genesis file (#59) 2023-10-04 06:45:59 -03:00
pallas-network fix(network): fix bad codec for tx monitoring messages (#298) 2023-10-03 14:26:11 -03:00
pallas-primitives Release 0.19.1 2023-09-10 22:49:11 -03:00
pallas-traverse Release 0.19.1 2023-09-10 22:49:11 -03:00
pallas-utxorpc Release 0.19.1 2023-09-10 22:49:11 -03:00
test_data feat: generate genesis utxos from genesis file (#59) 2023-10-04 06:45:59 -03:00
.gitignore feat: Add Vasil / Babbage compatibility (#126) 2022-06-20 22:09:42 -03:00
Cargo.toml feat: Move flat en/de from aiken to pallas (#303) 2023-10-04 19:08:52 -04:00
CHANGELOG.md Release 0.19.0-alpha.0 2023-04-13 21:31:42 -03:00
LICENSE Fill in place holders 2021-12-02 19:55:54 -03:00
README.md docs(network): Add chain-sync client docs (#252) 2023-04-15 13:56:52 -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 Ouroboros / 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 a 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-network Network stack providing a multiplexer and mini-protocol implementations

Ouroboros Consensus

Crates Description
pallas-leadership Implementation of the slot leadership selection algorithm
pallas-selection Implementation of the consensus chain-selection algorithm

Cardano Ledger

Crates Description
pallas-primitives Ledger primitives and cbor codec for the different Cardano eras
pallas-traverse Utilities to traverse over multi-era block data
pallas-addresses Encode / decode Cardano addresses of any type
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

Shared

Crates Description
pallas-crypto Shared Cryptographic primitives
pallas-codec Shared CBOR encoding / decoding using minicbor lib

Etymology

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