Your first 60h/month are free!
This will open a fully featured Devcontainer-based development environment, using GitHub Codespaces.
Within the IDE, in a Terminal (F1 -> Terminal: Create New Terminal), run:
substreams init
substreams build
substreams auth
substreams gui
substreams registry login
substreams registry publish
Run help to better navigate the development environment and generate sink projects with:
substreams codegen subgraph
substreams codegen sql
Learn more:
Discover community Substreams modules:
VSCode has excellent support for such containers. See their documentation.
[!NOTE] Devcontainers, the environment proposed here, have greatly matured in the past 3 years. They have been standardized, implemented in multiple IDEs and tools, and are used at scale in great companies (eg. Shopify).
The Devcontainer is the preferred way to develop Substreams. Our documentation generally assumes this environment.
If you prefer, you can install all components locally by following our installation docs.
substreams preinstalledbuf and protobuf tooling,graph-node, postgres, ipfs) directly accessible locally or remotely.substreams gui my-flip-test-substream@v0.1.0 map_program_datasubstreams gui my-flip-test-substream@v0.1.0 solana:blocks_without_votesblocks_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 my-flip-test-substream@v0.1.0 solana:v020:blocks_without_votessubstreams gui my-flip-test-substream@v0.1.0 solana:program_ids_without_votesmessage
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
Data
message
AdapterConfigured_Event
message
AdapterDisabled_Event
message
AuthorityChanged_Event
message
FeeEvent_Event
message
LimitOrderCancelled_Event
message
LimitOrderClosed_Event
message
LimitOrderCreated_Event
message
LimitOrderExecuted_Event
message
LimitOrderSwapEvent_Event
message
OperatorAdded_Event
message
OperatorRemoved_Event
message
PoolDisabled_Event
message
PoolInitialized_Event
message
RegistryReset_Event
message
RouteAndCreateOrderEvent_Event
message
RouterSwapEvent_Event
message
SwapEvent_Event
message
AddOperator_Instruction
message
CancelExpiredLimitOrderByOperator_Instruction
message
CancelLimitOrder_Instruction
message
ChangeAuthority_Instruction
message
ChangeVaultAuthorityAdmin_Instruction
message
CloseLimitOrderByOperator_Instruction
message
CloseVault_Instruction
message
ConfigureAdapter_Instruction
message
CreateLimitOrder_Instruction
message
CreateVault_Instruction
message
CreateVaultAuthority_Instruction
message
CreateVaultWithExtensions_Instruction
message
DisableAdapter_Instruction
message
DisablePool_Instruction
message
ExecuteLimitOrder_Instruction
message
InitializeAdapterRegistry_Instruction
message
InitializePoolInfo_Instruction
message
InitializeVaults_Instruction
message
RemoveOperator_Instruction
message
ResetAdapterRegistry_Instruction
message
Route_Instruction
message
RouteAndCreateOrder_Instruction
message
WithdrawPlatformFees_Instruction
message
AdapterInfo
message
RoutePlanStep
enum
SwapEnum
enum
TriggerTypeEnum
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
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