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.
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.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.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
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
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:
substreams gui solana-common@v0.2.0 program_ids_without_votes
message
Block
message
ConfirmedTransaction
message
Transaction
message
Message
message
MessageHeader
message
MessageAddressTableLookup
message
TransactionStatusMeta
message
TransactionError
message
InnerInstructions
message
InnerInstruction
message
CompiledInstruction
message
TokenBalance
message
UiTokenAmount
message
ReturnData
message
Reward
message
Rewards
message
UnixTimestamp
message
BlockHeight
enum
RewardType
message
DeployRequest
message
Parameter
message
DeployResponse
message
UpdateRequest
message
UpdateResponse
message
InfoRequest
message
InfoResponse
message
SinkProgress
message
PackageInfo
message
ListRequest
message
ListResponse
message
DeploymentWithStatus
message
RemoveRequest
message
RemoveResponse
message
PauseRequest
message
PauseResponse
message
StopRequest
message
StopResponse
message
ResumeRequest
message
ResumeResponse
enum
DeploymentStatus
message
Modules
message
Binary
message
Module
message
Package
message
PackageMetadata
message
ModuleMetadata
message
Clock
message
BlockRef
message
FileDescriptorSet
message
FileDescriptorProto
message
DescriptorProto
message
ExtensionRangeOptions
message
FieldDescriptorProto
message
OneofDescriptorProto
message
EnumDescriptorProto
message
EnumValueDescriptorProto
message
ServiceDescriptorProto
message
MethodDescriptorProto
message
FileOptions
message
MessageOptions
message
FieldOptions
message
OneofOptions
message
EnumOptions
message
EnumValueOptions
message
ServiceOptions
message
MethodOptions
message
UninterpretedOption
message
SourceCodeInfo
message
GeneratedCodeInfo
message
Any
message
Timestamp
message
Request
message
Response
message
BlockUndoSignal
message
BlockScopedData
message
SessionInit
message
InitialSnapshotComplete
message
InitialSnapshotData
message
MapModuleOutput
message
StoreModuleOutput
message
OutputDebugInfo
message
ModulesProgress
message
ModuleProgress
message
BlockRange
message
StoreDelta