When I call a seemingly nonsensical transaction on mainnet and rinkeby.

ethereum.send('eth_call', [{'from':'0x0000000000000000000000000000000000000000', 'to':'0x0000000000000000000000000000000000000002', 'data':''}])

I get some result:


What is that response data?

1 Answer 1


You are sending to 0x0000000000000000000000000000000000000002 which is the precompiled contract for SHA256.

It is returning the SHA256 of data field, which is an empty string, result is e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.

  • When I call eth_getCode on that address I get '0x' response. Which I implied means it is not a contract address. One more convoluted design example of the platform.
    – Sharas
    May 6, 2020 at 12:52
  • @Sharas Those contracts are pre-compiled contracts and they are implemented in native code by each client, they don't have bytecode.
    – Ismael
    May 6, 2020 at 15:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.