whisky
This is a library for building off-chain code on Cardano. It is a cardano-cli-like wrapper on cardano-serialization-lib (equivalent to MeshJS’s lower-level APIs), supporting serious DApps’ backend on the Rust codebase. It has an active F11 proposal to support the development.
whisky is composed of 2 layers - the root layer sidan-csl-rs and the user-facing layer whisky. sidan-csl-rs composed of the core serialization logic with JSON-to-transaction pattern, compilable to wasm. whisky is the user-facing package that Rust Cardano developers can import directly for use.
Features
- Same API patterns with MeshJS - lower learning curve for developers.
- Integrated with TxPipe's
uplc
for off-node auto redeemer exUnits updates. - Full inline documentation hosted at github
Installation
Rust Library
cargo add whisky
JS / TS WASM Lib
yarn add @sidan-lab/sidan-csl-rs-nodejs
yarn add @sidan-lab/sidan-csl-rs-browser
Getting Started
use whisky::{
builder::TxBuilder,
model::{Asset, UTxO},
};
async fn my_first_whisky_tx(
recipient_address: &str,
my_address: &str,
inputs: Vec<UTxO>,
) -> String {
let mut tx_builder = TxBuilder::new_core();
tx_builder.tx_out(
&recipient_address,
vec![Asset::new_from_str("lovelace", "1000000")],
)
.change_address(my_address)
.select_utxos_from(inputs.clone(), 5000000)
.complete(None)
.await;
tx_builder.tx_hex()
}
APIs
Please refer to the hosted documentation for the list of endpoints.