Skip to main content

Pallas - Rust SDK for Cardano

Pallas

Introduction

Pallas is a collection of Rust modules that re-implement common Ouroboros and Cardano logic in native Rust. Rather than providing a specific application, Pallas serves as a foundational layer for building higher-level use cases like explorers, wallets, and potentially even full nodes.

The library is organized as a Cargo workspace where each building block lives in its own crate. The root pallas crate serves as an all-in-one dependency that re-exports all modules in a hierarchical structure, with Cargo features to customize the setup for your specific needs.

Key Components

Core

  • pallas-codec - CBOR encoding and decoding using the minicbor library
  • pallas-crypto - Cryptographic primitives
  • pallas-math - Mathematical functions

Network

  • pallas-network - Network stack with multiplexer and mini-protocol implementations

Ledger

  • pallas-primitives - Ledger primitives and CBOR codec for different Cardano eras
  • pallas-traverse - Utilities for traversing multi-era block data
  • pallas-addresses - Encode and decode Cardano addresses of any type

Transaction Builder

  • pallas-txbuilder - Ergonomic transaction builder

Interoperability

  • pallas-hardano - Interoperability with Haskell Cardano node artifacts
  • pallas-utxorpc - Interoperability with the UTxO RPC specification

Getting Started

Pallas is designed for developers who need low-level access to Cardano functionality in Rust. You can include specific components based on your needs using Cargo features, or include the entire suite for comprehensive functionality.

tip

For complete documentation, examples, and the latest updates, visit the Pallas GitHub repository.

Resources