All dfuse.io services for EOSIO, running from your laptop or from a container, released as a single statically linked binary.
See the general dfuse repository for other blockchain protocols implementations.
If it's the first time you boot a nodeos
node, please review
https://developers.eos.io/welcome/latest/tutorials/bios-boot-sequence
and make sure you get a grasp of what this blockchain node is capable.
You might want to have the eosio.cdt tools
installed, as well as cleos
(from EOSIO/eos) or
eosc.
Get a release from the Releases tab in GitHub. Install the binary in your PATH
.
See INSTALL.md to install the dependencies (like an instrumented nodeos
).
git clone https://github.com/dfuse-io/dfuse-eosio
cd dfuse-eosio
go install -v ./cmd/dfuseeos
Initialize a new dfuse.yaml
config file (answer 'y' for a quick start) with:
dfuseeos init
The created file will contain the private and public keys generated for the booted chain.
Boot your instance with:
dfuseeos start
If you answered 'y', this will boot a producer node, a reader node, both communicating together, boot all dfuse services and expose a dashboard and all the APIs.
A terminal prompt will list the graphical interfaces with their relevant links:
Dashboard: http://localhost:8080
GraphiQL: http://localhost:13019
Eosq: http://localhost:8081
The Dashboard is a diagnostic tool to monitor the status of each component of dfuse for EOSIO. It also provides a graph to visualize how far their head block has drifted from the current block.
To run the dashboard in dev mode:
cd dashboard/client
yarn install
yarn start
Head to the GraphiQL interface, and do a streaming search of what's happening on chain! All dfuse GraphQL queries are available here.
Eosq, our high precision block explorer is also integrated in box. Use it to test out search queries and view organized information such as accounts, transaction data, and inline actions. The built javascript folder is committed with the code for convenience. See eosq README for build instructions
Here's a quick map of this repository:
The glue:
The EOSIO-specific services:
- abicodec: ABI encoding and decoding service
- fluxdb: the dfuse State database for EOSIO, with all tables at any block height
- kvdb-loader: service that loads data into the
kvdb
storage - dashboard: server and UI for the dfuse for EOSIO dashboard.
- eosq: the famous https://eosq.app block explorer
- eosws: the REST, Websocket service, push guarantee, chain pass-through service.
dfuse Products's EOSIO-specific hooks and plugins:
- search plugin, object mappers, EOSIO-specific indexer, results mapper (along with the search client.
- dgraphql resolvers, with all data schemas for EOSIO
- blockmeta plugin, for EOS-specific
kvdb
bridge.
Please read CONTRIBUTING.md for details on our Code of Conduct, CONVENTIONS.md for coding conventions, and processes for submitting pull requests.
- dfuse Docs
- dfuse on Telegram - community & team support