#macro #dusk #automatic #generate #wrapper #self #piecrust

nightly macro piecrust-macros

Dusk Piecrust 虚拟机的宏库

1个不稳定版本

0.1.0 2024年1月2日

#14 in #dusk

MPL-2.0 许可证

9KB
65 代码行

π-crust 宏

Repository Documentation

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