1个不稳定版本
0.1.0 | 2024年1月2日 |
---|
#14 in #dusk
9KB
65 代码行
π-crust 宏
piecrust-macros
是一个宏库,旨在简化为 Dusk 的 Piecrust 虚拟机 开发智能合约。它提供了宏来自动生成与 Piecrust VM 交互所需的样板代码。
用法
piecrust-macros
的主要功能是 #[contract]
属性宏。此宏自动生成与 Piecrust VM 交互所需的包装函数,减少了项目中样板代码。
将 piecrust_macros
添加为合约项目的依赖项
cargo install piecrust_macros
要使用宏,将其导入 Rust 智能合约并使用 #[contract] 注解合约实现
#![no_std]
use piecrust_macros::contract;
/// Struct that describes the state of the Counter contract
pub struct Counter {
value: i64,
}
/// State of the Counter contract
static mut STATE: Counter = Counter { value: 0xfc };
#[contract]
impl Counter {
/// Read the value of the counter
pub fn read_value(&self) -> i64 {
self.value
}
/// Increment the value of the counter by 1
pub fn increment(&mut self) {
let value = self.value + 1;
self.value = value;
}
}
使用 #[contract],宏将自动为 impl 块中您想要公开的每个公共方法生成必要的包装函数。
发布历史
要查看此软件包的发布历史,请参阅 CHANGELOG 文件。
许可证
此代码根据Mozilla公共许可证第2.0版(MPL-2.0)许可。有关更多详细信息,请参阅 LICENSE。
贡献
如果您想为此项目做出贡献,请随时创建一个问题、分叉存储库并打开一个拉取请求。
依赖关系
~3.5MB
~83K SLoC