Open HarmlessEvil opened 2 years ago
Thanks for the report @HarmlessEvil
I think the issue is coming from this transaction in the block, rather than the block itself. So one possible work-around would be to only get the block header, instead of getting all the transaction data.
I was not aware geth required transaction objects themselves to have 64-bit gas limits. In our data structures gas limit is allowed to be 256-bit. It is only on execution that we prevent gas limits larger than 64-bit.
We request a block (for example,
95283117
) through the official Ethereum client written in Golang. Due to the fact that the value in thegas
field is too large number, the client cannot parse it (because it expects the number to be no more than 64 bits, as indicated by the error). Because of this, we are forced to skip blocks in our application.Is it intentional or not? How should we handle this?
Here is the code to reproduce the issue:
And this is the result of the execution: