13 个版本 (稳定)

1.3.1 2024 年 1 月 30 日
1.3.0 2023 年 10 月 31 日
1.2.1 2023 年 7 月 13 日
1.2.0 2023 年 6 月 28 日
0.1.2 2022 年 11 月 26 日

#357魔法豆

Download history 247/week @ 2024-04-14 205/week @ 2024-04-21 197/week @ 2024-04-28 186/week @ 2024-05-05 151/week @ 2024-05-12 180/week @ 2024-05-19 225/week @ 2024-05-26 250/week @ 2024-06-02 116/week @ 2024-06-09 139/week @ 2024-06-16 158/week @ 2024-06-23 55/week @ 2024-06-30 75/week @ 2024-07-07 161/week @ 2024-07-14 142/week @ 2024-07-21 165/week @ 2024-07-28

每月下载量 546 次

Apache-2.0

54KB
1K SLoC

Rust 786 SLoC // 0.0% comments Go 458 SLoC // 0.0% comments

Substreams Sink 数据库变更

github crates.io docs.rs GitHub Workflow Status

substreams-sink-database-changes 包含了子流可以发出的所有数据库变更的定义。

使用

安装

# The Rust crate is named substreams-database-change for historical reasons
cargo add substreams-database-change

快速入门

Cargo.toml

[dependencies]
substreams = "0.5"
substreams-database-change = "1.0"

src/lib.rs

use substreams::errors::Error;
use substreams_database_change::pb::database::{DatabaseChanges, table_change::Operation};

#[substreams::handlers::map]
fn db_out(
    ... some stores ...
) -> Result<DatabaseChanges, Error> {
    // Initialize Database Changes container
    let mut database_changes: DatabaseChanges = Default::default();

    // Push change
    database_changes.push_change("transfer", "primary-key", 0, Operation::Create)
        .change("key1", ("previous1", "value1"))
        .change("key2", ("previous2", "value2"));

    Ok(database_changes)
}

重新生成 Protobuf

确保已安装 buf CLI(《https://buf.build/docs/installation/》)并运行

buf generate proto

依赖项

~4.5–7MB
~118K SLoC