Hose is a modern off-chain framework for building scalable and composable applications on top of the Cardano blockchain using Rust.
It is designed to work nicely with Aiken, a language for writing smart contracts on Cardano.
ℹ️ Note
Each component has its own README file with more information.
Crate | Description |
---|---|
hose-blueprint |
A proc-macro for generating data types from CIP-57 schemas |
hose-primitives |
A library providing primitives and protocol parameters of Cardano |
hose-submission |
A library for submitting and evaluating transactions to the Cardano blockchain |
hose-txbuilder |
A library for building and signing transactions in a composable way |
⚠️ TODOThere is a template project available at
Liqwid-Labs/hose-template
.
Hose provides a semi-opinionated design, with a blessed path to follow, but it is also designed to be flexible and composable.
The general pattern of usage is as follows:
- You define your on-chain scripts using Aiken.
- You define your types using the
hose-blueprint
crate, loading the plutus.json file that the Aiken compiler generates. - You define your off-chain logic using the
hose-txbuilder
crate. - You define an API for your off-chain logic, and expose it to your frontend. Including submission using the
hose-submission
crate.