Package Logo
solana_common
solana-common@v0.2.0
README

Solana Common Modules

The Solana Common Modules Substreams contains a set of modules that allow you to easily retrieve basic information from the Solana blockchain, such as transactions or instructions.

The substreams.yaml file defines all the different modules available, and also provides you with documentation about the usage of every module.

Basic Modules

  • blocks_without_votes: consume a full Solana Block without Vote transactions (i.e. transactions containg Vote111111111111111111111111111111111111111 instructions). You will have access to the data of a Solana block but the transactions array will not contain Vote transactions.

Filtered Modules

Usually, you want to only listen for specific transactions or instruction types. The following module allow you to specify a filter based on the program ID of the instruction to efficiently retrive filtered transactions.

  • filtered_transactions_without_votes: allows you to consume transactions containing instructions from specific program_id based on a filter string. Supported operators are: logical or ||, logical and && and parenthesis: (). Example: to only consume TRANSACTIONS containing Token or ComputeBudget instructions: program:TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA || program:ComputeBudget111111111111111111111111111111. Transactions containing Vote111111111111111111111111111111111111111 are always excluded.
)
Documentation
Modules
Maps icon
Maps

map
blocks_without_votes

0be93a73c65aa8ec2de4b1a47209edeea493ff29
map blocks_without_votes (
blocksf.solana.type.v1.Block
)  -> sf.solana.type.v1.Block

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 solana-common@v0.2.0 blocks_without_votes

map
filtered_transactions_without_votes

ccc3362e519a9eec745093ac483c80abe0134109
map filtered_transactions_without_votes (
paramsstring
)  -> sol.transactions.v1.Transactions
Default param : program:TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA

filtered_transactions_without_votes allows you to consume transactions containing instructions from specific program_id based on a filter string. Supported operators are: logical or ||, logical and && and parenthesis: (). Example: to only consume TRANSACTIONS containing Token or ComputeBudget instructions: program:TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA || program:ComputeBudget111111111111111111111111111111. Transactions containing Vote111111111111111111111111111111111111111 are always excluded.

substreams gui solana-common@v0.2.0 filtered_transactions_without_votes
Block Indexes icon
Block Indexes

blockIndex
program_ids_without_votes

811466d12743a8b02be8ba6649cfa9a24aa1af62

program_ids_without_votes creates a cache to efficiently retrieve instructions based on the program ID. For example, the following sets keys for the Token program:

  • program:TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
substreams gui solana-common@v0.2.0 program_ids_without_votes
Protobuf

Protobuf Docs Explorer

sol.transactions.v1
sol.instructions.v1
sf.solana.type.v1