All packages

solana_common

StreamingFast
This is not the latest version — go to v0.4.0
v0.2.0/4.5K downloads

Package ref

solana-common@v0.2.0

Run package

CLI

Run filtered_transactions_without_votes from the command line.

substreams run solana-common@v0.2.0 filtered_transactions_without_votes -e solana --start-block -1
Authenticate by running substreams auth or directly on thegraph.market (see docs).

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.

Modules

Execution graph

3 modules
mapMain

filtered_transactions_without_votes

`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.

map

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.

blockIndex

program_ids_without_votes

`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

Output

sf.substreams.index.v1.Keys