10

When you send a transaction, a one time random keypair is generated. You can later see it with get_tx_key txid, replacing txid with the transaction id for the transaction in question. You can then send an auditor/arbitrator three pieces of data: the standard address you sent to, the transaction id, and the tx key for that transaction. The auditor can then ...


10

You have a public and private spend key, and a public and private view key. The public spend and view keys are used to create an output that only you can see that exists, and that only you can spend. You use your private view key and public spend key to detect the existence of that output. You use your private view key and private spend key to spend the ...


7

Transaction hash, transaction id, txhash, txid, are all terms for the same thing. When you send a transaction, the tx key will be saved in your wallet cache (assuming you have this enabled, this is the default for most wallets, but for a short time after this feature was coded, it was not the default. Use set store-tx-info 1 to enable, in case it's off). ...


5

This question was cross-posted to Reddit and was answered by dEBRUYNE_1 citing luigi1111's article: You may have noticed that this scheme only gives Alice one output for Bob per r, but with auto-denomination Monero and other Cryptonote coins have many outputs per transaction. To get different stealth addresses for each output, Alice (and Bob) append an "...


4

The private tx key is named r in the CryptoNote whitepaper. Note that r is randomly chosen. In addition, the private tx key can be used as prove of payment on a case by case basis. That is, in case of a dispute, you can prove that you paid the receiver by publishing the private tx key (which you can obtain from the wallet), the transaction ID, and the ...


3

You could do that, if you want something way more cumbersome than giving a different address to everyone. Another, more secure way is to get the sender to generate a proof of sending a transaction (see get_tx_proof and check_tx_proof), but that is also more cumbersome than using a subaddress per sender.


3

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 to the coinbase transaction). It appears you are comparing the block's coinbase transaction to the transactiou you had the txid for. These things are also ...


3

The signature verification algorithm will only return a "correct signature" result if P is equal to x·G (i.e. the real spent output's public key is derived from the output's secret spend key x) and if I is equal to x·Hp(P) (i.e. the key image I is derived from the output's secret spend key x). If you can understand the algorithms on page 6 of MRL-0003, you ...


2

Let's start by first defining a couple of things. Outputs created in a coinbase transaction can later be spent by using them as inputs to a subsequent transaction. A transaction also has a public key, which is used as the public part of a secret (it's shared, it's in the tx which is on the blockchain). When constructing a coinbase (miner) transaction, the ...


2

The public tx key is contained in the extra field. You can use monero-utils-deserialize to decode it from the transaction's hexadecimal representation, which you can get from the daemon, like this: In monerod: print_tx TXID +hex (replace TXID with your transaction's txid) Then, in a shell: monero-utils-deserialize --input DATA (replace data with ...


2

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 (the tx public key), but there could be more. So do not rely on there just being one, you have to parse the field and respond accordingly. One such example of a ...


2

The wallet file/wallet cache contains the data it used to construct transactions. If you still have the actual wallet file used to spend the funds, then you can open the file with the GUI wallet or CLI wallet and each software will have access to all the data in the file. If you have lost the wallet file, and therefore you have been forced to recover from ...


1

In short, tests. You can see this by following the path taken by the CLI wallet when doing a transfer, as you essentially end up in create_transactions_2. If you follow through that, you will see transfer_selected_rct gets called from various places (1/2 & 3), and it's that which makes calls through to open_tx via construct_tx_and_get_tx_key. Thus a ...


1

The transaction public key is contained in the txextra part of the get_transaction_pool response. The format of txextra is documented here: https://cryptonote.org/cns/cns005.txt You therefore want to parse txextra and look for subfield 0x01. Please could you leave a comment and let us know how you made the tx private key deterministic? What are you ...


1

Using your spend secret key, you can calculate the key images for all your outputs. Using your view secret key, you can see their amounts. When you check the outgoing transaction in question, you can see which outputs of yours were spent by looking up the key images. This gets you the amount. A block explorer does not have your secret keys, so is unable to ...


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