#cosmos #substreams #firehose #thegraph #pinax #api-bindings

substreams-cosmos-core

Substreams development kit for Cosmos chains, contains Firehose Block model and helpers

2 releases

0.1.1 Sep 23, 2024
0.1.0 Sep 23, 2024

#1014 in WebAssembly

Download history 203/week @ 2024-09-17 132/week @ 2024-09-24 50/week @ 2024-10-01

385 downloads per month
Used in substreams-cosmos

MIT license

18KB
289 lines

Substreams for Cosmos

github crates.io docs.rs GitHub Workflow Status

This library contains the generated Rust protobuf bindings for Cosmos Block as well as helper methods to extract and parse block data.

📖 Documentation

https://docs.rs/substreams-cosmos

Further resources

Install

cargo add substreams-cosmos

Usage

Refer to Docs.rs for helper methods on Block that extract action and transaction iterators from the Cosmos block.

Cargo.toml

[dependencies]
substreams = "0.5"
substreams-cosmos = "0.1"

src/lib.rs

use substreams::errors::Error;
use substreams_cosmos::pb::{Block, Events};

#[substreams::handlers::map]
fn map_events(block: Block) -> Result<Events, Error> {
    let mut events = vec![];

    for tx in block.tx_results {
        for event in tx.events {
            events.push(event);
        }
    }
    Ok(Events { events })
}

Release

Dependencies

~6–8.5MB
~157K SLoC