dfuse-eosio

module
v0.1.0-beta4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2020 License: Apache-2.0

README

dfuse for EOSIO

reference License

All dfuse.io services for EOSIO, running from your laptop or from a container, released as a single statically linked binary: dfuseeos.

See the general dfuse repository for other blockchain protocols implementations.

Getting started

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.

The default settings of dfuseeos allow you to quickly bootstrap a working development chain by also managing the block producing node for you.

Requirements
Operating System
  • This software runs on Linux or Mac OS X
dfuse Instrumented nodeos (deep-mind)
  • See DEPENDENCIES.md for instructions on how to get an instrumented nodeos binary.
Installing
From a pre-built release
From source

Build requirements:

  • Go 1.13 or higher
  • Node.js 12 or higher, yarn
  • rice Go static assets embedder (see installation instructions below)
# Install `rice` CLI tool if you don't have it already
go get github.com/GeertJohan/go.rice/rice

git clone https://github.com/dfuse-io/dfuse-eosio
cd dfuse-eosio

pushd dashboard/client
  yarn install && yarn build
popd

pushd eosq
  yarn install && yarn build
popd

go generate ./dashboard
go generate ./eosq/app/eosq

go install -v ./cmd/dfuseeos

This will install the binary in your $GOPATH/bin folder (normally $HOME/go/bin). Make sure this folder is in your PATH env variable.

Usage (creating a new local chain)
  1. Initialize a few configuration files in your working directory (dfuse.yaml, mindreader/config.ini, ...)
dfuseeos init
  1. Boot your instance with:
dfuseeos start
  1. A terminal prompt will list the graphical interfaces with their relevant links:
Dashboard: http://localhost:8081
Explorer & APIs:  http://localhost:8080
GraphiQL:         http://localhost:8080/graphiql
  • If dfuse is starting a new chain, two nodeos instances will now be running on your machine, a block producer node and a mindreader node, and the dfuse services should be ready in a matter of seconds.
  • If you chose to sync to an existing chain, only the mindreader node will launch. It may take a while for the initial sync depending on the size of the chain and the services may generate various error logs until it catches up. (More options for quickly syncing with an existing chain will be proposed in coming releases.)
  1. If you chose to have dfuse create a new chain for you, see bootstrapping for info on creating the initial accounts and interacting with the chain
Usage (syncing existing chain)
Logging

See Logging

Overview

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:

Troubleshooting

See Troubleshooting section

Contributing

Please read CONTRIBUTING.md for details on our Code of Conduct, CONVENTIONS.md for coding conventions, and processes for submitting pull requests.

License

Apache 2.0

References

Directories

Path Synopsis
cmd
pb
eosq
app/eosws
Deprecated: The features in the eosws package will be moved to other packages like Dgraphql
Deprecated: The features in the eosws package will be moved to other packages like Dgraphql
mdl
cli
pb
Copied from MIT licensed https://github.com/rendon/testcli
Copied from MIT licensed https://github.com/rendon/testcli
kv
mdl

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL