Code Monkey home page Code Monkey logo

dfuse-eosio's Introduction

EOSIO on StreamingFast

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

  • Linux or macOS (no Windows support for now, should work through WSL2 (untested))

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:

./scripts/build.sh

This will install the binary in your $GOPATH/bin folder (normally $HOME/go/bin). Make sure this folder is in your PATH env variable. If it's missing, take a look at TROUBLESHOOTING.md.

Note -- If you're getting yarn dependency warnings while running the yarn install && yarn build commands above, you can normally safely ignore those and move forward with the installation. If you're getting an error while installing and/or compiling, see TROUBLESHOOTING.md.

Creating a new local chain with dfuseeos

1. Initialize

Initialize a few configuration files in your working directory (dfuse.yaml, mindreader/config.ini, ...)

dfuseeos init

Answer y (yes) when being prompted for Do you want dfuse for EOSIO to run a producing node for you?. If you intend is to sync an existing chain, follow Syncing an existing chain with dfuseeos instead.

2. Boot

Optionally, you can also copy over a boot sequence to have dfuse bootstraps your chain with accounts + system contracts to have a chain ready for development in a matter of seconds:

wget -O bootseq.yaml https://raw.githubusercontent.com/dfuse-io/dfuse-eosio/develop/devel/standard/bootseq.yaml

When you're ready, boot your instance with:

dfuseeos start

A successful start will list the launching applications as well as the graphical interfaces with their relevant links:

Dashboard:        http://localhost:8081

Explorer & APIs:  http://localhost:8080
GraphiQL:         http://localhost:8080/graphiql

In this mode, 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 couple seconds.

Syncing an existing chain with dfuseeos

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 upcoming releases).

You should also take a look at our Docs:

Filtering

Overview - Repository Map

The glue:

The EOSIO-specific services:

  • abicodec: ABI encoding and decoding service
  • statedb: 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:

Logging

See Logging

Troubleshooting

See Troubleshooting

Contributing

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

License

Apache 2.0

References

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.