14 votes
Accepted

Counterparty On Monero

I've spoken to Robby Dermody from Counterparty about this exact thing. Shoving the data into tx_extra is the trivial part, and in my opinion the best way to handle it would be to encrypt the data with ...
fluffyponyza's user avatar
  • 5,089
7 votes
Accepted

Complete extra field structure (standard interpretation)

Things to keep in mind: The field's location within transaction data is defined by the transaction's structure. Currently (protocol v12) the transaction version is v2, and 'extra' lives between 'vout'...
koe's user avatar
  • 379
6 votes
Accepted

Is it possible to embed message for recipient in transaction?

Yes you can do it, but. There are 2 options which you can use at the moment: plain-text 256-bit PID and encrypted 64-bit PID as part of the integrated address scheme. In principle, you could put ...
JollyMort's user avatar
  • 19.9k
6 votes

Is there a way to cap the size of the tx_extra_field?

If we could predict all the things tx_extra could be used for then sure, we can do that. But as a thought: what if Monero can no longer hard fork in future due to complexity / politics / etc., and so ...
fluffyponyza's user avatar
  • 5,089
6 votes

Is there a way to cap the size of the tx_extra_field?

I wouldn't do that. The tx_extra field opens some possibilities for unforseen inventions build on Monero. Monero doesn't have such rich scripting language as Bitcoin, but the tx_extra field offers ...
urza.cc's user avatar
  • 699
5 votes
Accepted

How are the various tx-extra types/formats used?

Padding is for adding freeform data of arbitrary length. It can be used to embed any data, for example a human readable mesage. Pubkey is for the transaction public key (R in the Cryptonote ...
user36303's user avatar
  • 34.8k
5 votes
Accepted

Does the new v5 hardfork low fee option create a risk for blockchain bloat?

I understand the only thing limiting people from inserting, for example, a 180MB FLAC encoded recording of The Sign into the tx-extra field in a Monero transaction is the high fees they pay per kb. ...
JollyMort's user avatar
  • 19.9k
4 votes

Does the new v5 hardfork low fee option create a risk for blockchain bloat?

Two main reasons why this can't happen: The block size can't grow from 60KB to 180MB abruptly, it has to be progressive (a new block can't be larger than twice the median size of the last 100 blocks) ...
assylias's user avatar
  • 2,208
4 votes

Complete extra field structure (standard interpretation)

0x01: transaction public key... Incorrect. 0x01 is a public key. Not specifically a transaction public key. The wallets may stuff other public keys in extra, as an example, for multi-sig needs. ...
jtgrassie's user avatar
  • 19k
3 votes
Accepted

failed to deserialize extra field

According to moneromooo-monero, it may be that someone is adding invalid TX extra by using a custom software, on purpose or by error. Therefore when the usual daemon receive the transaction, it is not ...
Clement J.'s user avatar
  • 3,339
3 votes
Accepted

Is the tx-extra field publicly visible?

Yes, tx-extra can be of any length, as long as the transaction as a whole is not too large to be accepted into a block. Only the parts of tx-extra that need to be encrypted are encrypted. For example,...
knaccc's user avatar
  • 8,468
3 votes

Why is the content of tx different between monero-utils-deserialize and print_block?

A block is not a transaction. Obviously, if you print different things, you will get different results. This should not come as a surprise. A block may contain more than one transaction (in addition ...
user36303's user avatar
  • 34.8k
2 votes
Accepted

As a miner how would I put data in the 'extra' field?

When using the getblocktemplate RPC, you can pass a reserve_size argument. You will get a block template and a reserve_offset, and then starting at reserve_offset in the block template, you can put ...
glv's user avatar
  • 3,334
2 votes

Why is the payment ID specified on a per TX basis?

From my understanding, the payment ID is not associated with a specific output. It is included in a different portion of the transaction, near the transaction hash and public key. There is no ...
sgp's user avatar
  • 8,806
2 votes

How to use tx-extra

How can I use tx-extra to store something in it? You can store whatever you like in it. For example with simplewallet. You can use simplewallet by setting the data as the payment ID parameter. It'...
jtgrassie's user avatar
  • 19k
2 votes
Accepted

Correctly retrieving the tx_pubkey from a transaction

tx_extra can contain any number of items. The field is documented here: https://cryptonote.org/cns/cns005.txt Therefore it can contain 0..N public keys. Usually there is just one public key in it (...
jtgrassie's user avatar
  • 19k
2 votes
Accepted

How to use the --extra-messages-file option?

This option is available for the in-built miner. Reviewing how it's used: Its expected format is one base64 string per line. When the miner requests a block template to mine, it adds the current ...
jtgrassie's user avatar
  • 19k
2 votes
Accepted

An example of transaction with at least two subaddress destinations

This is such an example transaction on stagenet where I sent 1 XMR to a subaddress and 2 XMR to a standard address (and the change goes back to myself): https://community.xmr.to/explorer/stagenet/tx/...
kenshi84's user avatar
  • 2,475
2 votes
Accepted

Was the reasoning behind the large tx extra in minergate's transactions ever revealed?

The extra payload appears to be for merged mining, as per the definitions in src/cryptonote_basic/tx_extra.h: field 0: extra pub key: <...
user36303's user avatar
  • 34.8k
2 votes

Why some coinbase transactions have very long extra field, and some short?

Because miners are free to put whatever they want in there. For example, if you parse the 2nd as ASCII codes, it can be decoded to: 4,QAy^0P<ºÈ±ùGÛg¥g=ÆúòVø9QÇ?MinerGate001!>պ⨪Ëq©ä9{ê¤^...
JollyMort's user avatar
  • 19.9k
2 votes

Is there an example of a transaction that makes use of tx_extra field? Is this public unencrypted data?

Is there an example of a transaction that makes use of tx_extra field? Is this public unencrypted data? Every transaction makes use of tx extra as it places the tx public key in there. The data is ...
jtgrassie's user avatar
  • 19k
2 votes

Why do extra fields sometimes have a different format?

Quite why you can have a TX_EXTRA_TAG_ADDITIONAL_PUBKEYS without a count I'm not clear on (it surely wasn't created by an official Monero wallet). But if you read the byte and it's less than 64, you ...
jtgrassie's user avatar
  • 19k
1 vote
Accepted

Why are additional pubkeys added to tx extra when transferring to a subaddress

A normal (no subaddresses involved) tx public key R is calculated as rG, but when a tx includes a destination output to a subaddress, it needs to attach a tx public key calculated as sDi, (Di being ...
jtgrassie's user avatar
  • 19k
1 vote

A way to add to tx_extra with current monero executables

Only the old, long-form, unencrypted payment IDs are obsolete. You can still use the short (8 byte) encrypted payment IDs. You create/attach encrypted payment IDs by using the command ...
jtgrassie's user avatar
  • 19k
1 vote
Accepted

Is there an example of a transaction that makes use of tx_extra field? Is this public unencrypted data?

Using the example from this question's answer, and following jtgrassie's recommendation to use https://xmrchain.com with "More Details" -> "Show JSON representation of tx", the tx extra field can be ...
koe's user avatar
  • 379
1 vote
Accepted

What is the CLI command to make use of tx_extra field in a transaction? And how does one retrieve this data back on the receiver's end?

The wallets only add specific data to tx extra (e.g. tx public key, payment ID etc) and do not offer options to embed arbitrary data. If you need to add your own arbitrary data, such as your example ...
jtgrassie's user avatar
  • 19k
1 vote

Is there a way to cap the size of the tx_extra_field?

Some good answers so far, but I think the keys here are: Yes, we could cap the size of tx extra, however this would require a fork (pretty common for Monero so not a big deal) Putting a cap is ...
bigreddmachine's user avatar
1 vote
Accepted

Ability to return funds

No, but there's nothing preventing it - either. We have the TX-extra data field which could be used to embed a return address. For example, you could store an encrypred return address. However, how ...
JollyMort's user avatar
  • 19.9k
1 vote

Why is the payment ID specified on a per TX basis?

Why would having multiple payment ID's per TX be any better? The simplest answer is because it's intuitive and it works.
Matthew Bowler's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible