Skip to content
docs

MEMO_FIELD

const MEMO_FIELD: 10 = 10

Defined in: wallet-tron/src/memo.ts:20

Memo = Transaction.raw.data (protobuf field 10, bytes). The full node builds raw_data_hex for us; we splice the field in ourselves rather than re-encoding the contracts.

Where it goes matters: java-tron recomputes txID as sha256 of the raw_data it re-serializes from the parsed message, and protobuf-java writes fields in field-number order. A memo appended after contract (field 11) would therefore hash differently on the node than what we signed. So the record is inserted at its canonical position — after every field numbered ≤ 10, before the first > 10 (ref_block_bytes 1 … expiration 8, auths 9, DATA 10, contract 11, scripts 12, timestamp 14, fee_limit 18). The JSON we broadcast carries the same bytes as raw_data.data (hex), the way tronweb’s addUpdateData does.