Skip to content

An open-source Rust library for easy Cardano transaction building and unit testing

License

Notifications You must be signed in to change notification settings

sidan-lab/whisky

Repository files navigation


Whisky Whisky - Cardano Rust SDK

Licence Test Publish Docs

Twitter/X Crates.io NPM


whisky

Whisky is an open-source Cardano Rust SDK, containing following modules:

  • whisky - The core Rust crate supporting Cardano DApp development in Rust.
  • whisky-common - Serving universal types and utilities.
  • whisky-csl - The crate to implement most cardano-serialization-lib wrapper
  • whisky-js - An point of output for wasm package for @meshsdk/core-csl.

With whisky, you can

  • Builder transaction with cardano-cli-like APIs, supporting serious DApps’ backend on the Rust codebase.
  • Handling transaction signing in Rust
  • Interacting with blockchain with provider services like Maestro and Blockfrost
  • Off-node evaluation on transaction execution units, and updating the transaction accordingly with TxPipe's uplc integrated.

Installation

Rust Library

cargo add whisky

JS / TS WASM Lib

# For nodejs package
yarn add @sidan-lab/whisky-js-nodejs
# For browser package
yarn add @sidan-lab/whisky-js-browser

Getting Started

use whisky::*;

pub fn send_lovelace(
    recipient_address: &str,
    my_address: &str,
    inputs: &[UTxO],
) -> Result<String, WError> {
    let mut tx_builder = TxBuilder::new_core();
    tx_builder
        .tx_out(
            recipient_address,
            &[Asset::new_from_str("lovelace", "1000000")],
        )
        .change_address(my_address)
        .select_utxos_from(inputs, 5000000)
        .complete_sync(None)?;

    Ok(tx_builder.tx_hex())
}

APIs

Please refer to the hosted documentation for the list of endpoints.

Alt