I'm trying to understand what is the structure of the messages in IOTA. I used scylla to download some messages and now I don't see that the structure from the message matchs with the current one explained in the RFC 0017 (https://github.com/GalRogozinski/protocol-rfcs/blob/message/text/0017-message/0017-message.md#message-structure).
I'm going to use the following message:
If you scroll down and export the mesage in
Hex format we have the following:
Now I will try the identify the elements using the previous RFC:
NetworkID (8 bytes):
Parents' length (1 byte) :
Parents (32 bytes x number of parents): - OK
Here comes the problem:
- Payload Length (Should be 5 bytes): Not sure, but if I get 5 bytes I have:
7300000002. In my opinion this does not seem to be the payload length, especially considering that the
02seems to be the payload type...
- Payload Type (Should 5 bytes): Here I know that the payload type is
2because it it an Indexation payload (https://github.com/GalRogozinski/protocol-rfcs/blob/message/text/0017-message/0017-message.md#indexation-payload) but it does not match with the bytes from the message. If we get 5 bytes:
0000001100, and I don't know what is this...
- Index (Should be 1 to 64 bytes long):
- Unexpected value (Bytes size unknown):
58000000. I don't know what is this...
- Data Fields (Any bytes, as we can see in the hex from the message, we have the index here too):
- Nonce (8 bytes):
As you can see, we have some elements that are not described or does not match with the specification in the RFC:
- Payload length
- Payload Type
- Unexpected value
Please, has anyone any experience with this? Probably I'm doing something wrong, but I think my explanation is correct.
Thank you very much.