# ethql **Repository Path**: iwe7/ethql ## Basic Information - **Project Name**: ethql - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-08-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # A GraphQL interface to Ethereum đŸ”„ [![Gitter](https://img.shields.io/gitter/room/ethql/lobby.js.svg?style=for-the-badge)](https://gitter.im/ethql/Lobby) **▶ Try out the Alpha on Infura: [https://ethql-alpha.infura.io/graphql]()** [Example queries.](#query-handbook) EthQL is a server that exposes a GraphQL endpoint to the public Ethereum ledger. It works against the standard JSON-RPC APIs offered by all Ethereum clients. It is built in TypeScript, and thus leverages the vast ecosystem of GraphQL tooling while preserving compile-time type safety. EthQL regards blockchain data as a graph, and leverages the extensibility of GraphQL to introduce additional functionality, amongst which are: - Decoding of standard transactions (e.g. ERC20, ENS, ERC223, etc.) out of the box. - New query patterns enabled by indexing solutions (e.g. all transactions between any two accounts). - Automatic batching and caching of requests. - New filtering capabilities. - Simple, inline unit conversions. - Enhancing public data with information overlays imported from other sources. _NOTE: This project is under heavy development._ ## Quickstart You need a running Node environment with at least: - nodejs >= 8.0.0 - [yarn](https://yarnpkg.com/) Clone the repo and run: ``` $ yarn install $ npm run dev JSON-RPC (web3): Using HTTP(S) provider with endpoint: https://mainnet.infura.io/ Running a GraphQL API server at http://0.0.0.0:4000/graphql (browse here: http://localhost:4000/graphql) ``` This EthQL server uses [Infura](https://infura.io/) as a backend in anonymous mode. If you have an Infura ID (and if you don't, you should sign up for one!) you can set it like this: ``` $ INFURA_ID=myid npm run dev ``` ## Query Handbook We suggest fiddling with some [Example Use Cases](https://github.com/ConsenSys/ethql/wiki/Example-Use-Cases) to see some queries in action. For an in-depth guide on how to use EthQL, please start with the document [Top-Level Queries](https://github.com/ConsenSys/ethql/wiki/Top-Level-Queries). This document shows all of the root fields available to query, including information on specific block(s), transaction(s), and account(s). The following sections provide a deep dive into all of the fields available on top-level queries: - [Block Query Fields](https://github.com/ConsenSys/ethql/wiki/Block-Query-Fields) - [Account Query Fields](https://github.com/ConsenSys/ethql/wiki/Account-Query-Fields) - [Transaction Query Fields](https://github.com/ConsenSys/ethql/wiki/Transaction-Query-Fields) - [Log Query Fields](https://github.com/ConsenSys/ethql/wiki/Log-Query-Fields) - [Decoded Transaction Query Fields](https://github.com/ConsenSys/ethql/wiki/Decoded-Transaction-Query-Fields) ## Contributing If you are interested in fixing issues and contributing directly to the code base, please see the document [How to Contribute](https://github.com/ConsenSys/ethql/wiki/How-to-Contribute), which covers the following: - [Submitting Bugs and Suggestions](https://github.com/ConsenSys/ethql/wiki/Submitting-Bugs-and-Suggestions) - [Feedback Channels](https://github.com/ConsenSys/ethql/wiki/Feedback-Channels) - [Coding Guidelines](https://github.com/ConsenSys/ethql/wiki/Coding-Guidelines) - [Contributor License Agreement](https://github.com/ConsenSys/ethql/wiki/Contributor-License-Agreement) Please see also our [Code of Conduct](https://github.com/ConsenSys/ethql/wiki/Contributor-Code-of-Conduct). ## Feedback - Request a new feature on [GitHub](https://github.com/ConsenSys/ethql/wiki/Submitting-Bugs-and-Suggestions). - Vote for [popular feature requests](https://github.com/ConsenSys/ethql/issues?q=is%3Aopen+is%3Aissue+label%3A%22Type%3A+Feature%22). - File a bug in [GitHub Issues](https://github.com/ConsenSys/ethql/issues). - [Tweet](https://twitter.com/PegasysEng) us with other feedback ## Development team - RaĂșl Kripalani [(contact)](mailto:raul.kripalani@consensys.net) - Akhila Raju [(contact)](mailto:akhila.raju@consensys.net) # Who we are PegaSys logo PegaSys’ mission is to build blockchain solutions ready for production in business environments. We are committed to open source, and are creating a framework for collaborative innovation for the public-chain community and leading enterprises. Our team is composed of engineers leading in the areas of big data processing, applied cryptography, open source computing, cloud services, and blockchain development. [Learn more about PegaSys.](https://pegasys.tech/?utm_source=github&utm_medium=source&utm_campaign=ethql)