NeblioTeam / neblio

Neblio Daemon & Wallet
MIT License
121 stars 46 forks source link

Add in memo support for transfers #329

Open Vheissu opened 3 years ago

Vheissu commented 3 years ago

When transferring NEBL or any other tokens, there is no ability to add in a memo. This would be a great feature to have so people can see notes with transfers.

nebliodev commented 3 years ago

NTP1 metadata could carry a memo or any other data, there would just need to be a standardized format for memos so they could be created by the sender and parsed by the recipient's wallets.

Are you looking for something similar to our NTP1 metadata, but with a regular NEBL transfer, or am I misunderstanding this issue?

Vheissu commented 3 years ago

@NeblioTeam This is correct. Basically, the ability for non-NTP1 token transfers to support a memo field, or better still, to support metadata would be great. I have no idea of the work involved, but I assume there is a reason we have non-NTP1 tokens as well as separate NTP1 tokens as the original tokens might not easily be able to support meta, is that right?

To elaborate on this, here is my thinking:

As things currently stand, if you wanted to build a Neblio app and allow NEBL to be used as the currency, the only way to make this work is to force users to deposit Neblio into a wallet controlled by the dApp. Say, generating an address for that specific transfer, then keeping track of the balances in a MySQL/MongoDB database. This is not ideal as it means you'll be potentially holding user funds (including funds they don't end up spending), from a security perspective, it would make me nervous acting as a bank and accepting deposits. The transfer as needed approach means you only get out what you put in, or lose what you put in.

The approach I am thinking of here is users don't deposit anything, they transfer as needed and that transfer has information pertaining to what the transfer is for. It might be a unique ID for a purchase, it might be JSON which is parsed and used for gaming (dice games, etc).