This package was initialized via substreams init
, using the sol-minimal
template, and has been extended to include mappers for SPL Token, Wormhole, and Metaplex Token Metadata events.
substreams build
substreams auth
substreams gui # Get streaming!
Optionally, you can publish your Substreams to the Substreams Registry.
substreams registry login # Login to substreams.dev
substreams registry publish # Publish your Substreams to substreams.dev
This Substream is designed to extract and structure data related to SPL Tokens, Wormhole bridge interactions, and Metaplex Token Metadata from the Solana blockchain.
Several modules are used to pre-filter transactions based on program IDs:
map_filtered_transactions
: Retrieves Solana transactions filtered for the SPL Token Program ID (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
). This serves as input for map_spl_mint_burn
.map_filtered_wormhole_transactions
: Retrieves Solana transactions filtered for the Wormhole Program ID (e.g., 3u8hJhpWcB8GfnpnLCuRztPD6qgqbtT6NBKMLVMqYc6N
on Devnet). This serves as input for map_wormhole_events
.map_filtered_metaplex_transactions
: Retrieves Solana transactions filtered for the Metaplex Token Metadata Program ID (metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
). This serves as input for map_metaplex_events
.These modules utilize the solana:transactions_by_programid_without_votes
Substream imported as solana
. Transactions containing voting instructions are excluded.
map_spl_mint_burn
map_filtered_transactions
proto:spl_token.v1.MintOrBurnEvents
MintTo
and Burn
instructions. It extracts details like mint account, token account, authority, and amount.map_wormhole_events
map_filtered_wormhole_transactions
proto:wormhole.v1.WormholeEvents
PostMessage
and PostVAA
, extracting data such as emitter, payload, consistency level, and VAA details.map_metaplex_events
map_filtered_metaplex_transactions
proto:peridot.metaplex.v1.MetaplexEvents
CreateMetadataAccountV3
) and updating (UpdateMetadataAccountV2
) token metadata. It extracts metadata details like name, symbol, URI, creators, collection information, and mutability status.substreams gui peridot-spl-token@v0.2.2 map_filtered_transactions
substreams gui peridot-spl-token@v0.2.2 map_spl_mint_burn
substreams gui peridot-spl-token@v0.2.2 map_filtered_wormhole_transactions
substreams gui peridot-spl-token@v0.2.2 map_wormhole_events
substreams gui peridot-spl-token@v0.2.2 map_filtered_metaplex_transactions
substreams gui peridot-spl-token@v0.2.2 map_metaplex_events
substreams gui peridot-spl-token@v0.2.2 solana:v030:blocks_without_votes
blocks_without_votes
allows you to consume a full Solana Block without Vote instructions (Vote111111111111111111111111111111111111111
).
If you consume it on HISTORICAL data (+1000 blocks from HEAD), you will be reading from the StreamingFast cache, thus saving costs on the amount of TB read.
substreams gui peridot-spl-token@v0.2.2 solana:v030:v020:blocks_without_votes
substreams gui peridot-spl-token@v0.2.2 solana:v030:program_ids_without_votes