Ethereum, meet GraphQL ⛓

Explore the Ethereum blockchain using a rich GraphQL API.

Alex Kern
Distributed Systems
2 min readJun 5, 2018

--

Try it in your browser! »

Users want consistent application experiences across platforms, but delivering this can lead to complexities. For example, developers of decentralized applications often end up duplicating Ethereum-related application logic between native and web-based clients to support the advanced functionalities of smart contracts, such as identity management and ENS address resolution.

We are releasing an early implementation of eth-explorer, an extensible and general purpose GraphQL gateway for Ethereum to reduce the complexity of cross-platform decentralized application development. Thanks to the composability of GraphQL queries, its interface makes it convenient to walk the Ethereum blockchain from block to transaction to address, provides methods for common action such as retrieving address balances, supports inspecting/sending transactions, and more. Better yet, you can use it right within your browser or via your GraphQL client of choice.

eth-explorer works by proxying requests via web3 to the wonderful Infura service, with caching handled using the DataLoader pattern. Its simple, stateless architecture lends itself toward extension: you can use eth-explorer as a starting point for your decentralized application’s backend to support native and web clients.

In the coming weeks, eth-explorer will have first-class support for a number of existing or emerging standards in the Ethereum ecosystem, including:

  • ERC 20/ERC 721 support —register token contracts with a curated registry and retrieve address balances and token metadata
  • Identity/multi-sig — using the solidity-sigutils library, eth-explorer will support compatible identity ERC 725 contracts, including ENS resolution
  • Filters via WebSockets—flexible and resilient filters for Ethereum events backed by GraphQL subscriptions, making interactive dapps a breeze
  • Transaction cost estimation—give end-users a notice of how much a transaction may cost in gas, ether, a token, or a fiat currency of choice
  • Deep contract analysis—high-resolution analysis of trace calls and value transfers within contracts, also known as “internal transactions,” via an instrumented EVM

We hope that you find eth-explorer useful and contribute! The source for eth-explorer is available on GitHub under the permissive Apache 2.0 license.

Interested in joining our team? Check our careers page or drop us a line at careers@distributedsystems.com 🚩

--

--

Alex Kern
Distributed Systems

building && breaking • cto @zebraiq , formerly: @coinbase via @_dsys (acq), forbes u30, @NASAJPL , @calhacks , @Cal