-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Light node response to eth_getLogs missing transactionHash #9929
Comments
@epheph is this replicable with other transactions? |
@joshua-mir can confirm from reading the code : |
So... Looks like something that is expected behavior? |
It is running 'getReceipts' (https://wiki.parity.io/Light-Ethereum-Subprotocol-(LES)) to get the log entries but there does not seem to be an efficient way to get the transaction hash. |
Geth light-node will return transactionHash with a getLogs request. I wonder how they do it. If they |
Looks like they query the block. |
In fact it could be possible to make it optional (like a light client specific config). |
I agree that geth and parity should return the same data for the requests, maybe a different RPC endpoint if it will differ. The caller doesn't even know if they are talking to geth/parity and they don't know if they are talking to a light/full node |
Agreed @epheph -- This is a point that all the clients need to agree on. The behavior of all of these basic RPC requests simply has to be compatible. Since a client doesn't know what it's speaking to it makes sense it would have to do the more costly call by default, to keep all RPC responses in parity across all nodes. Perhaps there should be some spec for an eth client to turn on light client optimizations as well as a standard way of detecting whether it's speaking to a light client. |
Totally agree but the sad reality is that the protocols are different, geth does not support pip and a parity light client != geth light client.
I'd instinctively think the opposite in terms of cost. Cheap by default, costly if you know what you're doing. |
The JSON-RPC documentation doesn't indicate it will only return some information if it is architecturally convenient. If there is going to be a parity-specific implementation that runs faster but returns less info, it seems like it should be in the parity_ module namespace. If the field not being returned was something like |
Agreed, since it's a standard |
Before filing a new issue, please provide the following information.
Issuing a getLogs request to a parity node that is in --light:
The data is correct and complete, but
That response, from a parity full node or geth node (light or full) is:
The text was updated successfully, but these errors were encountered: