Substreams
for Cosmos
This library contains the generated Rust protobuf bindings for Cosmos Block as well as helper methods to extract and parse block data.
cargo add substreams-cosmos
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 })
}
- Run
Make
if there were changes in protobufs - Bump up version in workspace
Cargo.toml
- Commit changes
- Tag a release: https://github.com/pinax-network/substreams-cosmos/releases
- Publish packages in this order:
core
,substreams-cosmos
.