1 个不稳定版本

0.1.0 2023年7月30日

#8#ink

MIT/Apache

13KB
242 代码行(不含注释)

ink-quill

Random Oracle 启发,ink-quill 库是一个用于高效且可靠的转录构建的 Rust 包。该库提供了一种高效的方式来分组各种信息片段,使得数据的验证、存储或交换变得更加容易。

用法

[dependencies]
ink-quill = "0.1.0"

TranscriptBuilder

以下是如何创建转录并添加数据到它的示例

use ink_quill::{TranscriptBuilder, TranscriptBuilderInput};

async fn main() {
    let mut builder = TranscriptBuilder::empty("example domain");
    builder = builder.with("nonce", &0)
        .with("transaction", &"deposit")
        .with_prefix("amount".to_string())
        .with("value", &1000_u64)
        compile();
}

TranscriptBuilderInput

对于您自己的数据类型,您可以实现 TranscriptBuilderInput 特性


struct MyData {
    pub value: u64,
}

impl TranscriptBuilderInput for MyData {
    const TYPE: &'static str = "MyData";

    fn to_transcript_builder_input(&self) -> Vec<u8> {
        self.value.to_be_bytes().to_vec()
    }
}

贡献

欢迎为 ink_quill 贡献。请确保在提交拉取请求之前运行测试套件

许可

MIT Apache 2.0

依赖项

~2.5MB
~72K SLoC