Skip to main content

Essential Rust Crates

Several Rust crates are available on crates.io to support smart contract development with Rust. A crate is a compilation unit that can be compiled into a binary or a library. The corresponding documentation is published on docs.rs. The most important crates are listed below.

casper-types

Types shared by many Casper crates:

casper-contract

A library for developing Casper smart contracts:

casper-engine-test-support

The Casper test support library:

casper-node

The component for running a node on a Casper network:

casper-client

A client library for interacting with a Casper network:

casper-event-standard

A Rust library that provides a simple and standardized way for Casper contracts to emit events:

casper-hashing

A library providing hashing functionality including Merkle Proof utilities:

casper-wasm-utils

Command-line utilities and corresponding Rust API for producing pwasm-compatible executables:

cargo-casper

A command line tool for creating a Wasm smart contract and tests:

Other Libraries

The Open-Source Software page provides other community-curated tools and libraries.