All packages
pump_fun_substreams

pump_fun_substreams

enoldev
v0.1.0/34.1K downloads

Package ref

pump-fun-substreams@v0.1.0

Run package

CLI

Run map_program_data from the command line.

substreams run pump-fun-substreams@v0.1.0 map_program_data -e solana-mainnet --start-block -1
Authenticate by running substreams auth or directly on thegraph.market (see docs).

README

Pump.fun Substreams

Track all the instructions and events from the Pump.fun program in Solana.

This Substreams uses the Pump.fun Anchor IDL to decode instruction and event data.

About Substreams

Substreams, is one of the production of The Graph, which allows you to stream data and sink it into a variety of places (a Postgres database, a JS application, or a Subgraph).

Get Started

NOTE: This Substreams has been auto-generated by using the substreams init command of the Substreams CLI. Try it out!

Run the Binary

A compiled Substreams project is contained in the pump-fun-v0.1.0.spkg file, which contains all the decoding logic of the Solana program.

  1. Install the Substreams CLI.

  2. Run the Substreams

substreams gui

Build the Project

  1. Install the Substreams CLI.

  2. Build the project (you will need Rust installed)

substreams build
  1. Run the Substreams
substreams init

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