A powerful Algorand blockchain indexing solution built with Substreams technology, developed for The Graph Network.
This project provides high-performance streaming and processing of Algorand blockchain data with built-in analytics capabilities.
npm install -g @graphprotocol/graph-cli
graph auth --product substreams https://playgrounds.substreams.network
# Stream to console
SUBSTREAMS_API_TOKEN=your_jwt_token ./substreams_new run algorand.spkg map_blocks -s 50500000 -t 50500010 -o json -e mainnet.eth.streamingfast.io:443
# Save to file (using shell redirection)
SUBSTREAMS_API_TOKEN=your_jwt_token ./substreams_new run algorand.spkg map_blocks -s 50500000 -t 50500010 -o json -e mainnet.eth.streamingfast.io:443 > ./output/blocks.json
# Stream transaction analytics to console
SUBSTREAMS_API_TOKEN=your_jwt_token ./substreams_new run algorand.spkg map_transaction_analytics -s 50500000 -t 50500010 -o json -e mainnet.eth.streamingfast.io:443
# Save analytics to file (using shell redirection)
SUBSTREAMS_API_TOKEN=your_jwt_token ./substreams_new run algorand.spkg map_transaction_analytics -s 50500000 -t 50500010 -o json -e mainnet.eth.streamingfast.io:443 > ./output/analytics.json
map_blocks
Extracts complete block data including:
Output Format: Structured protobuf data with complete block information
map_transaction_analytics
⭐ Recommended for AnalyticsExtracts focused transaction data for analytics:
Sample Output:
[
{
"sender": "ABC123...",
"amount": 1000000,
"type": "payment",
"round": 50500001,
"timestamp": 1640995200
},
{
"sender": "XYZ789...",
"amount": 50000,
"type": "asset_transfer",
"round": 50500001,
"timestamp": 1640995200
}
]
-o json
-o json > ./output/filename.json
The output/
directory is automatically created for storing results.
-s, --start-block
: Starting block number-t, --stop-block
: Ending block number (exclusive)-o, --output
: Output format (json
) or file path-e, --endpoint
: Substreams endpoint URL# Extract 1000 blocks of transaction data
SUBSTREAMS_API_TOKEN=your_jwt_token ./substreams_new run algorand.spkg map_transaction_analytics -s 50500000 -t 50501000 -o json -e mainnet.eth.streamingfast.io:443 > ./output/volume_analysis.json
# Process recent blocks for large transactions
SUBSTREAMS_API_TOKEN=your_jwt_token ./substreams_new run algorand.spkg map_transaction_analytics -s 50600000 -t 50600100 -o json -e mainnet.eth.streamingfast.io:443 > ./output/large_transactions.json
# Export complete block data for archival
SUBSTREAMS_API_TOKEN=your_jwt_token ./substreams_new run algorand.spkg map_blocks -s 50000000 -t 50010000 -o json -e mainnet.eth.streamingfast.io:443 > ./output/historical_blocks.json
# Build the Rust module
cargo build --target wasm32-unknown-unknown --release
# Package the substream
substreams pack substreams.yaml
A live demonstration recording is available in the repository:
File: algorand-substreams-demo.cast
To view the demo online, upload it to asciinema.org:
asciinema upload algorand-substreams-demo.cast
The demo shows:
Live demonstration of streaming Algorand blockchain data with JWT authentication and real-time processing
✅ JWT Authentication: Fully supported and working ✅ Compression Support: Modern gzip/zstd compression enabled ✅ File Output: JSON file export supported ✅ Analytics Module: Transaction analytics extraction ready
Please refer to the StreamingFast contribution guide for contribution guidelines.
substreams gui algorand@v0.1.1 map_blocks
substreams gui algorand@v0.1.1 map_transaction_analytics
substreams gui algorand@v0.1.1 map_tx_count