Graphql

How to access the ClishaChain API using GraphQL

GraphQL can reduce the overhead needed for common queries. For example, instead of querying each receipt in a block, GraphQL can get the same result with a single query for the entire block.

The [Clisha GraphQL schema] describes the GraphQL implementation for Ethereum. Enable the GraphQL service using command line options.

!!! note

GraphQL is not supported over WebSocket.

Access the GraphQL endpoint at http://<HOST>:<PORT>/graphql. Configure <HOST> and <PORT> using graphql-http-host and graphql-http-port. The default endpoint is http://127.0.0.1:8547/graphql.

GraphQL requests with cURL

ClishaChain JSON-RPC API methods with an equivalent GraphQL query include a GraphQL request and result in the method example.

!!! example

The following [`syncing`](../../reference/api/index.md#eth_syncing) request returns data
about the synchronization status.

```bash
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{syncing{startingBlock currentBlock highestBlock}}"}' http://localhost:8547/graphql
```

GraphQL requests with GraphiQL app

The third-party tool, GraphiQL, provides a tabbed interface for editing and testing GraphQL queries and mutations. GraphiQL also provides access to the [Clisha GraphQL schema] from within the app.

GraphiQL

Pending

transactionCount and transactions supports the Pending query.

!!! important

!!! example

!!! example

Last updated