1

I read this page, and I can not understand this line.

https://docs.soliditylang.org/en/develop/abi-spec.html#examples

0x0000000000000000000000000000000000000000000000000000000000000060 : the location of the data part of the first parameter (dynamic type), measured in bytes from the start of the arguments block. In this case, 0x60.

How to calc 0x60 ?

and any useful resource of ethereum transaction structure?

1 Answer 1

0

0x60 is the hexadecimal representation of 96 (base 10).

In this context, it means the data part of the string is 96 bytes (or three 32 bytes words) away from the start of the arguments (discarding the first 4 bytes for the function id, count 3 words and this is where). Based on the example of the docs:

0xa5643bf2

start counting here:
First 32 bytes, offset is 0:
0x0000000000000000000000000000000000000000000000000000000000000060

Second/offset 32 == 0x20
0x0000000000000000000000000000000000000000000000000000000000000001

Third: offset 64 == 0x40
0x00000000000000000000000000000000000000000000000000000000000000a0

Then here starts the part pointed by the first 0x60, offset 96==0x60
0x0000000000000000000000000000000000000000000000000000000000000004
(...)

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.