This is the Antelope chain-specific implementation part of firehose-core and enables both Firehose and Substreams on Antelope chains with native blocks.
To get started with Firehose and Substreams, you need to sign up on https://app.pinax.network to get yourself an api key. You'll also find quickstarts there to get you started and all of our available endpoints (we currently provide both Firehose and Substreams endpoints for EOS, WAX and Telos, as well as different testnets).
For connecting to Firehose endpoints, you'll need the Protobufs which are published on buf.build. Some Golang example code on how to set up a Firehose client can be found here.
To consume Antelope Substreams, please have a look at the documentation. You can also find Substreams to deploy in our Substreams repository here and on substreams.dev.
To develop Antelope Substreams, have a look at the documentation here and at the Pinax SDK for Antelope Substreams which can be found here.
A collection of resources around Substreams can also be found on Awesome Substreams.
Although The Graph does not officially support any Antelope chains yet, it's possible to write Subgraphs based on Substreams and set up your own Graph node. You can find an example here on how to achieve this.
Please have a look at the documentation here on how to set up your own Firehose & Substreams stack. Note that indexing larger Antelope chains such as EOS or WAX requires parallel processing of the chain and a lot of resources to have the indexing done in a reasonable time frame.
This implementation provides native Antelope blocks, including all Antelope specific block data. In case you are looking for operating Firehose & Substreams for EOS EVM, please have a look at the firehose-ethereum repository; it provides a generic evm poller to poll the EVM blocks from an RPC node.
In case of any questions around the Pinax endpoints or technology, feel free to hit us on our Discord server. For more generic questions around Substreams, you might also find the Streamingfast Discord server useful.
- Start
nodeos
.
~/ultra/firehose-antelope$ ultratest -s -n -D
- Modify
reader-node-arguments
indevel/standard/standard.yaml
and startfireantelope
.
~/ultra/firehose-antelope$ ./fireantelope start -c ./devel/standard/standard.yaml
- Modify
common-blocks-store-url
appropriately indevel/standard/dfuse.yaml
and startdfuseeos
from another console.
~/ultra/firehose-antelope$ dfuseeos start -c ./devel/standard/dfuse.yaml
- Run
SubstreamsCLI
from yet another console.
~/pinax-network/substreams/eosio.token$ substreams run -e localhost:10016 substreams.yaml map_transfers --start-block 2 --stop-block 20 --plaintext
- To restart from genesis, you need to remove several files/directories.
~/ultra/firehose-antelope$ rm -rf firehose-data/localdata/ ; rm -rf firehose-data/reader/config/protocol_features/ ; rm -rf firehose-data/reader/data/ ; rm -rf firehose-data/reader/work/ ; rm -rf firehose-data/storage/ ; rm firehose-data/app.log.json
~/ultra/firehose-antelope$ rm -rf dfuse-data/
- Start
nodeos
on host machine
ultratest -s -n -D
- Start
firehose-antelope
nodeos image
- Note: change docker image tag if needed. Change
$ULTRA_DIR
to point to your ultra directory.
docker run --rm -it --network="host" -v $ULTRA_DIR/firehose-antelope:/tmp -p 1066:1066 -p 10010:10010 -p 10012:10012 -p 10014:10014 eu.gcr.io/dfuse-302310/firehose-antelope:ci-test-nodeos3.2.4-2.0.3 bash
- Start
fireantelope
inside the container
cd /tmp
./bin/run_local_test.sh docker
- Modify
common-blocks-store-url
appropriately indevel/standard/dfuse.yaml
and startdfuseeos
from another console.
dfuseeos start -c ./devel/standard/dfuse.yaml
- Open block explorer at localhost:8080 to validate.
- (Optional) Run
SubstreamsCLI
from yet another console.
~/pinax-network/substreams/eosio.token$ substreams run -e localhost:10016 substreams.yaml map_transfers --start-block 2 --stop-block 20 --plaintext
- If not work try to update
firehose-data/reader/config/config.ini
, changep2p-peer-address = 127.0.0.1:9876
top2p-peer-address = host.docker.internal:9876
Todo: describe deployments for firehose and substreams