Search Terms for Ethereum

The dfuse Search Query Language resembles the one exposed by Kibana or GitHub for sifting through issues. It is a simple, flat key1:value1 key2:value2 string, yet allows negation clauses and combinations of OR clauses.

dfuse offers two indexes for searching Ethereum transactions:

  • EVM calls, with indexName: CALLS
  • Log events, with indexName: LOGS

Within the searchTransactions() GraphQL subscription call, or the query call of the same name, use indexName: CALLS.

The following fields go in the query string of those calls.

Supported terms for both indexes

signer address

  • description: address used to sign the transaction (that generated the matching log or call)
  • example: signer:0x59a5208B32e627891C389EbafC644145224006E8

method string or 4-bytes hexdata

  • description: either the signature in ascii form or the first 4 bytes (in hex format) of the keccak-256 of that signature (which can be found in the first 4 bytes of the input) of the method called (or the method that generated the log)
  • example: method:transfer(address,uint256) or method:a9059cbb

Supported terms for CALLS only

callType string

  • description: type of this EVM call

callIndex uint

  • description: Index of this call in the transaction. The transaction’s to and from fields will match the call’s to and from fields at callIndex=0
  • example: callIndex:0 from:0x59a5208B32e627891C389EbafC644145224006E8

nonce uint

  • description: nonce of the transaction
  • example: nonce:80023

to address

  • description: address of the called contract or target account of a transfer call
  • example: to:0x774af44fc5ad4eab986e989fa274b0dd2159be7b

from address

  • description: the account performing the call. This can be an Externally Owned Account, in the case of the top-level transaction, or another contract account, in the case of internal transactions
  • example: from:0x774af44fc5ad4eab986e989fa274b0dd2159be7b

value integer or hex

  • description: Ether value of a transfer call in WEI
  • example: value:60000000000 or value:0xdf8475800

balanceChange address

  • description: address that has its balance affected by the call
  • example: balanceChange:0x8cb02139d217b2fce7940902e6826cae8366d358

storageChange hexdata

  • description: storage key that was written to by the call
  • example: storageChange:0x3

input 32-bytes hexdata

  • description: bytes that are passed to the call
  • example: balanceChange:0x8cb02139d217b2fce7940902e6826cae8366d358

Supported terms for LOGS only

topic 32-bytes hexdata

  • description: hex data output as a topic in the log. Request will be 0-padded to 32 bytes. The index must be appended to the ‘topic’ term, as seen in the following examples.
  • example: topic.0:0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef or topic.1:0x91b356c3e5e0d7cbe261dfa29e11a554b7bc6406

data 32-bytes hexdata

  • description: hex data output as ‘data’ in the log, truncated to 32-bytes chunks. Request will be 0-padded to 32 bytes. The index of those chunks of 32 bytes must be appended to the ‘data’ term, as seen in the following examples.
  • example: data.0:1eda1ceca1274d6ab9101c30abd6b8b205861286

address address

  • description: address of the contract that emitted the log
  • example: address:0x774af44fc5ad4eab986e989fa274b0dd2159be7b