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
dfuse offers two indexes for searching Ethereum transactions:
- EVM calls, with
- Log events, with
The following fields go in the
query string of those calls.
Supported terms for both indexes
- description: address used to sign the transaction (that generated the matching log or call)
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)
Supported terms for CALLS only
- description: type of this EVM call
- accepted values:
- description: Index of this call in the transaction. The transaction’s
fromfields will match the call’s
fromfields at callIndex=1
- description: nonce of the transaction
- description: address of the called contract or target account of a transfer call
- 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
value integer or hex
- description: Ether value of a transfer call in WEI
- description: address that has its balance affected by the call
- description: storage key that was written to by the call
input 32-bytes hexdata
- description: all bytes after the first four ones (representing the contract’s method invoked) that are passed to the call, truncated to 32-bytes chunks. Request will be 0-padded to 32 bytes. The index (0 based) of those chunks of 32 bytes must be appended to the ‘input’ term, as seen in the following examples.
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 (0 based) must be appended to the ‘topic’ term, as seen in the following examples.
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 (0 based) of those chunks of 32 bytes must be appended to the ‘data’ term, as seen in the following examples.
- description: address of the contract that emitted the log