Can anyone explain the meaning of these transaction fields?

Just playing with the NEM api and after calling account/transfers/incoming I got an array of transactions. Here is an example of one element from this array:

{'meta': {'hash': {'data': '71f66563e6b8f31e23ccaad6ac99266cb433b041d495f54ba291354edf3035c4'},
  'height': 1315970,
  'id': 1109303,
  'innerHash': {}},
 'transaction': {'amount': 14202228088,
  'deadline': 79684064,
  'fee': 13000000,
  'message': {'payload': '37646336313732353037346665323237', 'type': 1},
  'recipient': 'NAGJG3QFWYZ37LMI7IQPSGQNYADGSJZGJRD2DIYA',
  'signature': '0f623423e3b95d3698be3edc605eb791743bdfab098eb21026fd556f73f4d86476dfa6dc25650c731c0fe99f7002953b084b4c26f713567a2b8a899d5532a70c',
  'signer': 'a025abd5dd0f0e9f226c4673be03a5a3d72cb95b8acd39fe4f2f2c2fb2d1b9ec',
  'timeStamp': 79683464,
  'type': 257,
  'version': 1744830465}}

I know what some of the fields mean but need some help with a few other fields:

  1. What is the meaning of 'id': 1109303
  2. What is 'innerHash': {} and is it always empty? So far I have not seen non-empty values.
  3. I know the meaning of a deadline, but how should I decode this value: 'deadline': 79684064,. This is not a timestamp, does not look close to a hash id. Also I assume that because the transaction is included in the block, deadline is mostly irrelevant.
  4. How can I decode the message {'payload': '37646336313732353037346665323237', 'type': 1} and what does type 1 mean? What other types can I have there.
  5. How can I extract the address of the sender. I assume that it is inside of 'signer': 'a025abd5dd0f0e9f226c4673be03a5a3d72cb95b8acd39fe4f2f2c2fb2d1b9ec',
  6. How can I convert a 'timeStamp': 79683464, to a normal timestamp. If it is not possible, what does this timestamp represent?
  7. What does 'type': 257, 'version': 1744830465 mean?
  8. Can anyone give me an example of transaction where the person transfers not XEM but mosaics?

Well, actually it can be found in docs:
https://bob.nem.ninja/docs/#transferTransaction
https://bob.nem.ninja/docs/#transactionMetaData
https://bob.nem.ninja/docs/#transactionMetaDataPair

  1. It is the id of the transaction (not hash)
  2. innerHash will contain actual transaction hash wrapped by MultisigTransaction
  3. deadline refers to number of seconds since the genesis block. You can check current timestamp (number of seconds since genesis block) using /node/extended-info endpoint
  4. Type 1 means that message is not encrypted. Payload is hex encoded so just decode it. If you will get type 2, you will have to use /local/account/transfers/incoming endpoint to get transactions with encrypted messages. Please note, that this endpoint should be used only on trusted nodes (I mean your nodes ;-))
  5. signer is a user’s public key so you can use /account/get/from-public-key endpoint
  6. Same as in 3
  7. See docs, it is described there.
  8. Probably you will have to look at block explorer.

Regards

2 Likes

A post was merged into an existing topic: Exchange Support. Lost XEM at an exchange? Post here!