| Title | GraphQL interface to Ethereum node data |
| Author | Nick Johnson, Raúl Kripalani, Kris Shinn |
| Status | Draft |
| Created | 2019-02-14 |
| Description | http://eips.ethereum.org/EIPS/eip-1767 |
| Specification | http://eips.ethereum.org/EIPS/eip-1767#Specification |
| Category | Interface |
totalDifficulty field is stored separately from the block header in common Ethereum node implementations, and many callers do not require this field. However, every call to eth_getBlock still retrieves this field, requiring a separate disk read, because the RPC server has no way of knowing if the user requires this field or not.eth_getTransactionReceipt API call. A common task for API consumers is to fetch all the receipts in a block; as a result, node implementations end up fetching and deserializing the same data repeatedly, leading to O(n^2) effort to fetch all transaction receipts from a block instead of O(n).