15 releases
new 0.3.4 | Feb 20, 2025 |
---|---|
0.3.3 | Feb 7, 2025 |
0.3.0 | Jan 21, 2025 |
0.2.0 | Jan 16, 2025 |
0.1.10 | Dec 31, 2024 |
#2 in #charms
729 downloads per month
6KB
This is the only crate you need to get started coding a Charms app.
Usage
Run this command to create a new Charms app:
charms app new my-app
It will create a new directory called my-app
with a basic Charms app template.
It'll have this in Cargo.toml
:
[dependencies]
charms-sdk = { version = "0.3.0" }
This is how the entire src/main.rs
looks like:
#![no_main]
charms_sdk::main!(my_app::app_contract);
The most important function in the app is app_contract
in src/lib.rs
:
use charms_sdk::data::{
check, App, Data, Transaction, NFT, TOKEN,
};
pub fn app_contract(app: &App, tx: &Transaction, x: &Data, w: &Data) -> bool {
match app.tag {
NFT => {
check!(nft_contract_satisfied(app, tx, x, w))
}
TOKEN => {
check!(token_contract_satisfied(app, tx, x, w))
}
_ => todo!(),
}
true
}
Dependencies
~6MB
~122K SLoC