You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the most important terms to decide for a wallet2 rewrite is how to call the "constructs" that carry XMR within transactions. Some of the proposals in this issue here come from a discussion in the #monero-research-lab channel on 2022-07-25.
The "construct" in question is often called output quite in general, and of course especially as the result of a transaction. Right now a Monero transaction can have at most 16 such outputs. The same construct is then called input if it provides XMR to spend in a transaction. With usually no proper superordinate term the use of two terms input and output for the same thing depending on use can certainly be somewhat confusing.
The terms output and input are established in the realm of cryptocurrencies beyond Monero more or less since the beginning and therefore pretty "entrenched".
In current wallet2 code the name of the struct to handle the info of an input/output is called transfer_details, a choice seemingly made already by the original CryptoNote devs back in 2012 or so.
@UkoeHB coined a new term enote for his Seraphis library. enote is in analogy to terms like e-mail on the one hand and banknote on the other hand. An enote has an amount and an owner; it seems prudent to use owner and not destination because that's independent of use.
Another possibility is coin. Wallets that offer functionality to decide exactly which outputs to use as inputs for a transaction to do often speak of offering coin control.
One more proposal from the linked IRC discussion is ledger_entry. That may look attractive until you realize that there are pending transactions and prepared transactions "in transit" e.g. in the form of files for cold signing or multisig where whatever you call what they carry is of course not yet recorded in the ledger / blockchain.
My current personal opinion about this at the time of writing: Despite being well established output together with input is confusing and in lack of a term that encompasses both. transfer is quite unspecific, any you can easily mis-take it to mean a transaction as a whole. coin seems too "non-technical" to me for use in code. The mentioned problems make ledger_entry unattractive. I don't have an idea of my own for a good term. Thus what remains is enote.
In my view enote has one big advantage: It's fresh and not yet "worn out" like other term. Devs seeing it for the first time may puzzle over its meaning but once they know it there is almost no chance for confusion to arise.
I see no problem to use the terms input and output in a limited way, to specify the way a particular enote is used in the context of transaction construction.
The text was updated successfully, but these errors were encountered:
eNote would get my vote as it seems a derivation from the words banknote and electronic mail. In other words, electronic bank notes which is what Monero really is. I have always disliked the term--coins.
One of the most important terms to decide for a
wallet2
rewrite is how to call the "constructs" that carry XMR within transactions. Some of the proposals in this issue here come from a discussion in the #monero-research-lab channel on 2022-07-25.The "construct" in question is often called output quite in general, and of course especially as the result of a transaction. Right now a Monero transaction can have at most 16 such outputs. The same construct is then called input if it provides XMR to spend in a transaction. With usually no proper superordinate term the use of two terms input and output for the same thing depending on use can certainly be somewhat confusing.
The terms output and input are established in the realm of cryptocurrencies beyond Monero more or less since the beginning and therefore pretty "entrenched".
In current
wallet2
code the name of thestruct
to handle the info of an input/output is called transfer_details, a choice seemingly made already by the original CryptoNote devs back in 2012 or so.@UkoeHB coined a new term enote for his Seraphis library. enote is in analogy to terms like e-mail on the one hand and banknote on the other hand. An enote has an amount and an owner; it seems prudent to use owner and not destination because that's independent of use.
Another possibility is coin. Wallets that offer functionality to decide exactly which outputs to use as inputs for a transaction to do often speak of offering coin control.
One more proposal from the linked IRC discussion is
ledger_entry
. That may look attractive until you realize that there are pending transactions and prepared transactions "in transit" e.g. in the form of files for cold signing or multisig where whatever you call what they carry is of course not yet recorded in the ledger / blockchain.My current personal opinion about this at the time of writing: Despite being well established output together with input is confusing and in lack of a term that encompasses both. transfer is quite unspecific, any you can easily mis-take it to mean a transaction as a whole. coin seems too "non-technical" to me for use in code. The mentioned problems make ledger_entry unattractive. I don't have an idea of my own for a good term. Thus what remains is enote.
In my view enote has one big advantage: It's fresh and not yet "worn out" like other term. Devs seeing it for the first time may puzzle over its meaning but once they know it there is almost no chance for confusion to arise.
I see no problem to use the terms input and output in a limited way, to specify the way a particular enote is used in the context of transaction construction.
The text was updated successfully, but these errors were encountered: