#账本 #数据完整性 #校验和 #键值存储 #sha-256 #wasm32 #智能合约

bin+lib ledger-kv

基于Rust的键值存储库,专为只读数据存储设计。具有SHA-256校验和以确保数据完整性,并可跨编译为wasm32以用于智能合约应用。

1个不稳定版本

0.1.0 2023年11月1日

#9 in #wasm32

MIT/Apache

31KB
577

账本KV

概述

账本KV是一个用Rust实现的键值存储库。此库的主要功能是以追加方式存储数据,从而有效地形成一个账本。此外,它支持使用SHA-256校验和进行账本条目的完整性检查。

此库专为智能合约环境设计,能够在wasm32目标上进行编译,同时在x86_64架构上也可用和可测试。

注意:此库仍在开发阶段。请自行承担使用风险。

安装

将LedgerKV添加到您的 Cargo.toml

[dependencies]
ledger-kv = "0.1.0"+

用法

以下是一个基本示例,以帮助您入门

use ledger_kv::LedgerKV;  // Replace with your actual library name
use ledger_kv::EntryLabel;
use ledger_kv::Operation;

let data_dir = PathBuf::from("data/");
let description = "example_ledger";

// Create a new LedgerKV instance
let mut ledger = LedgerKV::new(data_dir, description);

// Perform an upsert operation
let key = vec![1, 2, 3];
let value = vec![4, 5, 6];
ledger.upsert(EntryLabel::NodeProvider, key, value).unwrap();

// Perform a delete operation
let key = vec![1, 2, 3];
ledger.delete(EntryLabel::NodeProvider, key).unwrap();

功能

  • 追加存储:数据以追加方式存储,形成一个账本。
  • 数据完整性:使用SHA-256校验和验证账本条目的完整性。
  • 平台支持:专为wasm32和x86_64目标设计。

依赖项

此库完全用Rust实现。

贡献

我们欢迎贡献!如果您想贡献,请提交拉取请求。

许可证

根据以下任一许可证授权

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在本作品中的贡献,均将按照上述方式双重许可,而无需任何额外的条款或条件。

依赖项

~5MB
~91K SLoC