Crates.io | substreams-solana-macro |
lib.rs | substreams-solana-macro |
version | 0.14.1 |
source | src |
created_at | 2023-07-07 16:19:58.670245 |
updated_at | 2024-10-18 15:58:45.57684 |
description | Substreams development kit for Solana chains, contains Block model and helpers. |
homepage | https://substreams.streamingfast.io/ |
repository | https://github.com/streamingfast/substreams-solana/tree/develop/substreams-solana |
max_upload_size | |
id | 910916 |
size | 7,187 |
Substreams development kit for Solana chains, contains Rust Firehose Block model and helpers
Cargo.toml
:[package]
name = "my-package"
version = "0.1.0"
[lib]
crate-type = ["cdylib"]
[dependencies]
substreams-solana = "0.13"
If you have other protobuf objects that refer to the sf.solana.type.v1
types, like the Solana Substreams Foundational Modules you must inform the Protobuf code generator to generate subtreams_solana::pb::sf::solana::type::v1
for messages pointing to sf.solana.type.v1
.
Add or modify the buf.gen.yaml
file so that it has an extern_path=...
option defined like this:
version: v1
plugins:
- plugin: buf.build/community/neoeinstein-prost:v0.2.2 # check compatibility with your 'prost' crate
out: ./src/pb
opt:
- file_descriptor_set=false
- extern_path=.sf.solana.type.v1=::substreams_solana::pb::sf::solana::type::v1
- plugin: buf.build/community/neoeinstein-prost-crate:v0.3.1 # check compatibility with your 'prost' crate
out: ./src/pb
opt:
- no_features
When you run substreams protogen
or buf generate proto
, it will generate links to substreams-solana
library enabling you to leverage all helpers added by the library to Solana types.
We manually keep in sync the rendered Rust Firehose Block models with the actual Protocol Buffer definitions file found in sf-solana and we commit them to Git.
This means changes to Protobuf files must be manually re-generated and commit, see below for how to do it.
./gen.sh
Need any help? Reach out!