dfuse provides access to the historical and real-time data of EOSIO networks to hundreds of public and private deployments. This includes exchanges, trading operations, interactive games, social media platforms, supply chain solutions, and high throughput regulated environments. dfuse’s depth of information, speed of delivery, and reliable APIs have enabled developers to create powerful and seamless user experiences. Today, as dfuse is releasing dfuse for EOSIO as open source, developers across the globe now have the ability to run dfuse on their laptop or in a container.
Starting over two years ago, the EOSIO ecosystem quickly recognized that Block.one had built a high performance blockchain, optimized for extremely high write throughput. But this left developers struggling to keep up on the read side of the equation. With that in mind, dfuse started building a platform providing convenient and performant read access to blockchain data, in support of many of the projects being worked on in the community.
Seeing that developers across the EOSIO ecosystem could greatly benefit from having access to the dfuse platform, we began offering our platform as a service in October of 2018. Through incredible feedback from our many users, the dfuse platform has grown and expanded , increasing the functionality, granularity of information, and the reliability of dfuse, all while offering dfuse tooling on more public and private networks. But throughout this, one question many developers asked was “When can I run dfuse locally?”.
It was to meet this need, and also because we know the power an open source community can provide, that we have decided that dfuse should be open sourced. This will enable all developers to help steer the direction of dfuse, rather than relying only on the dfuse team to build out the desired functionality. dfuse can now leverage talent from across the ecosystem to help push our mission forward; enable millions of developers to build the decentralized web.
Blockchain developers have been facing the same challenges for a long time; querying a chain is complex, slow, and often inaccurate.
- Simple – Each chain has its own API structure. dfuse brings a layer of abstraction to that and allows you to query different chains using a familiar and intuitive method.
- Fast – The complexity of a blockchain makes it slow to return consistent answers to queries, and sometimes doesn’t expose endpoints to give you the answers you need. dfuse provides responses more reliably and much faster than other available solutions, allowing you to take decisions sooner.
- Accurate – Being an eventually consistent database, other providers provide different results for the same request when hitting different nodes. dfuse always returns a single and consistent view, and notifies you if that view has changed.
dfuse for EOSIO has been released under the Apache 2.0 License, allowing developers to utilize the source code in their own projects. As long as the proper notices are included within your code, you get all the benefits and protection Apache 2.0 offers.
Dashboard to monitor all of the dfuse services running
dfuse for EOSIO enables any developer to boot up a local development blockchain in a matter of seconds. For ease of use, once the chain is booted, you will have access to all the dfuse APIs, as well as eosq, the dfuse-backed block explorer with the greatest level of informational depth, a GraphiQL in-browser playground, and a dashboard that will allow you to monitor the 13 microservices that all talk to each other to power dfuse.
Once downloaded to your machine, it only takes 2 simple commands to have blocks flowing on a local network. From there, you’ll be able to load any system contracts that you need, and any custom contracts you may have in development. dfuse for EOSIO provides the looking glass you need to have instant feedback on how your smart contracts are functioning on the network. And it allows you to start building apps with the powerful dfuse APIs, assured that it can scale to production.
With just two commands, initialize and boot your local dfuse-enabled chain
A Beta Release
Many developers that we talk with asked if they could start indexing the EOS mainnet (or another public chain) with dfuse for EOSIO on their laptop. We currently run many large clusters of servers to provide the services to these networks, as the throughput is considerable. For the time being, especially if running locally or on a single server, dfuse for EOSIO is best suited for development chains so as to not overwhelm your machine. However, the provided release contains all you need to deploy a massively scalable infrastructure, if you so choose.
Going forward, we are excited to see contributions from the community. We can’t wait to see who will get the first community-created Pull Request to be merged, as it will be just the beginning of dfuse’s open source journey. We are actively working on open sourcing our stack for other blockchains as well, and look forward to hearing from you about what your needs and desires are.
Please do let us know how you’re utilizing dfuse for EOSIO to improve your development workflow. Show your love of dfuse by starring the repository, letting everyone know that dfuse is a must-have tool in any developer’s stack. Reach out to us on Telegram and let’s get the community working together!