Are you ready to dive into the world of EOSIO blockchain technology and leverage the power of dfuse.io? This guide will steer you through the installation process, help you set up a local chain, and offer solutions for any issues you may encounter.
Prerequisites
Before we kick off, you need to ensure that your system meets the following requirements:
- Operating System: Linux or macOS (note that Windows support is not available but may work through WSL2, albeit untested).
- dfuse Instrumented nodeos: Refer to DEPENDENCIES.md for instructions to acquire an instrumented nodeos binary.
Installation
Let’s go through the installation process, either from a pre-built release or from source.
From a Pre-built Release
- Download a tarball from the GitHub Releases Tab.
- Place the binary dfuseeos in your PATH.
Building from Source
If you prefer to build from source, ensure you have the following installed:
- Git
- Go 1.14 or higher (installation guide)
- Yarn 1.15 or higher (installation guide)
Next, run the following command:
bash scripts/build.sh
This will install the binary in your $GOPATH/bin folder, usually located at $HOME/go/bin. Ensure this folder is included in your PATH environment variable. If it’s missing, check out TROUBLESHOOTING.md.
Creating a New Local Chain with dfuseeos
Once installation is done, let’s create a new local chain:
1. Initialize
Run the following command to initialize some configuration files:
dfuseeos init
Answer y when prompted with “Do you want dfuse for EOSIO to run a producing node for you?” If you wish to sync an existing chain, refer instead to Syncing an Existing Chain.
2. Boot
For a rapid setup, copy a boot sequence with the command:
wget -O bootseq.yaml https://raw.githubusercontent.com/dfuse-io/dfuse-eosio/develop/devel/standard/bootseq.yaml
Then, start your instance:
dfuseeos start
Upon successful startup, you will see various applications along with their URLs:
- Dashboard: http://localhost:8081
- Explorer APIs: http://localhost:8080
- GraphiQL: http://localhost:8080/graphiql
Two nodeos instances— a block producer node and a mindreader node— will run concurrently on your machine.
Syncing an Existing Chain with dfuseeos
If you opted to sync an existing chain, only the mindreader node will initiate. This process could take a while based on the chain’s size, and you might encounter various error logs during the initial sync. Check out these resources for insights:
- Syncing a chain partially
- Syncing a large chain complexities
- System Admin Guide
- Large Chains Preparation
Overview – Repository Map
Below is a brief overview of the key components of the dfuse ecosystem:
- dfuseeos: The main binary.
- launcher: Starts all internal services.
- abicodec: ABI encoding/decoding service.
- statedb: dfuse State database.
- kvdb-loader: Loads data into kvdb storage.
- dashboard: UI for dfuse dashboard.
- eosq: Block explorer.
- eosws: REST & WebSocket services.
Troubleshooting
While it’s not uncommon to encounter some bumps along the way during installation or setup, here are a few common troubleshooting ideas:
- If you’re having trouble with yarn dependency warnings, they can usually be ignored.
- In case of installation or compilation errors, refer to TROUBLESHOOTING.md.
- If the path to your Go binary is not set, revisit TROUBLESHOOTING.md.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
Setting up and working with EOSIO is an exhilarating venture into the blockchain space. At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.