Pull-mirror of github.com/Sulkta-Coop/pallas. Canonical lives on GitHub; this is a LAN-fast read-only cache.
Find a file
dependabot[bot] 3fe3b3b53e
build(deps): update env_logger requirement from 0.9.0 to 0.10.0 (#209)
Updates the requirements on [env_logger](https://github.com/rust-cli/env_logger) to permit the latest version.
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-04 08:52:01 -03:00
.chglog docs: Add retroactive change log 2022-04-29 20:34:12 -03:00
.github ci: Skip publish confirmation prompt 2022-04-30 12:18:54 -03:00
assets chore: Add logo assets 2022-02-06 21:36:42 -03:00
examples build(deps): update env_logger requirement from 0.9.0 to 0.10.0 (#209) 2023-02-04 08:52:01 -03:00
pallas Release 0.17.0 2023-01-26 07:10:23 -03:00
pallas-addresses Release 0.17.0 2023-01-26 07:10:23 -03:00
pallas-bech32 feat(miniprotocols): Implement tx submission client (#220) 2023-02-03 20:38:12 -05:00
pallas-codec build(deps): update minicbor requirement from 0.18 to 0.19 (#213) 2023-02-04 08:51:25 -03:00
pallas-crypto chore: Fix lint issues (#222) 2023-02-02 21:07:14 -03:00
pallas-miniprotocols feat(miniprotocols): Implement tx submission client (#220) 2023-02-03 20:38:12 -05:00
pallas-multiplexer feat(miniprotocols): Implement tx submission client (#220) 2023-02-03 20:38:12 -05:00
pallas-primitives feat(miniprotocols): Implement tx submission client (#220) 2023-02-03 20:38:12 -05:00
pallas-traverse feat(miniprotocols): Implement tx submission client (#220) 2023-02-03 20:38:12 -05:00
test_data fix: Provide original hash for inline datum (#221) 2023-02-03 14:58:39 -03:00
.gitignore feat: Add Vasil / Babbage compatibility (#126) 2022-06-20 22:09:42 -03:00
Cargo.toml feat: Introduce Addresses crate (#137) 2022-06-23 22:31:12 -03:00
CHANGELOG.md Release 0.15.0 2022-11-13 11:38:17 -03:00
LICENSE Fill in place holders 2021-12-02 19:55:54 -03:00
README.md chore: Fix README badge (#217) 2023-01-26 07:26:36 -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-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

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;