All packages
my_project2

my_project2

newinh
v0.1.0/4 downloads

Package ref

my-project2@v0.1.0

Run package

CLI

Run map_filtered_transactions from the command line.

substreams run my-project2@v0.1.0 map_filtered_transactions -e solana --start-block -1
Authenticate by running substreams auth or directly on thegraph.market (see docs).

README

Substreams Starter Dev Kit

Getting Started

Try now, click Open:

Your first 60h/month are free!

Open in GitHub Codespaces

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 discover the development environment and then generate sink projects with:

substreams codegen subgraph
substreams codegen sql

Learn more:

Discover community Substreams modules:

Clone in local VSCode

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

Local install

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.

Included in the dev environment

  • substreams preinstalled
  • For Substreams development: Rust toolchain, buf and protobuf tooling,
  • For subgraph development: node/npm, along with all subgraph services, running in the devcontainer (graph-node, postgres, ipfs) directly accessible locally or remotely.
  • Pre-configured VSCode extensions for everything, plus a custom VSCode Substreams Extension.

Modules

Execution graph

9 modules
Show 8 dependencies
map

solana:transactions_by_programid_and_account_without_votes

Output

sf.substreams.solana.v1.Transactions

map

solana:v020: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.

map

solana:v020: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.

blockIndex

solana:v020: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