unstoppable-wallet-android icon indicating copy to clipboard operation
unstoppable-wallet-android copied to clipboard

Feature Request: Offline Transaction Notes

Open trymeouteh opened this issue 3 years ago • 4 comments

To add notes to transactions to know what the transaction was for, is a useful feature and not popular in cryptocurrency wallet apps. You can add a message to a transaction, however this message is not private at all as it will be immutable on the blockchain forever and in many cases with non-transparent cryptos, visible to all.

By having a offline transaction note feature, you can add a note to any transaction with any important details and keep the data safe on your device.

How it works

Lets say this is your a transaction ID of a Bitcoin transaction you send or recieved.

d3ad39fa52a89997ac7381c95eeffeaf40b66af7a57e9eba144be0a175a12b11

In the apps setting you will choose a directory on the device on where transaction note files will be stored. This directory will save the transaction notes for each wallet and the app will read this directory for files to determine if you have transaction notes set for a certain transaction ID.

A folder will be designated for saving TXT files which will look like the example below. Each file will be named after the transaction ID of a crypto transaction you send or recieved.

/Wallet 1/Transaction Notes/Bitcoin (Segwit)/d3ad39fa52a89997ac7381c95eeffeaf40b66af7a57e9eba144be0a175a12b11.txt

Cell phone bill payment for March 2020

/Wallet 3/Transaction Notes/Dash/f4459f800afe9bdbd80fa743e9388006d238422427932b140a184dd35c47990e.txt

Bought a Ledger Nano hardware wallet

Using the 12/24 word phrase and BIP39 passphrase (If there is a passphrase used), this could be used to encrypt the text files and even the text file names making it so other apps or malware cannot determine what transaction IDs you were apart of by seeing the text file names and by seeing the contents of the text files (the transaction notes themselves).

Import/Export

Simpily you can export all of the files in the "Transaction Notes" folder into a ZIP, GZIP or 7Z file. And be able to import a ZIP/GZIP/7Z file into the app to restore your sub address labels.

Third Party Backups/Syncing

Another important feature to this will be syncing/backups of the transaction note files. I strongly suggest having a directory that the user can choose where the transaction note files are stored on a device which gives the users options on how to backup the transaction note files. The user can setup their cloud storage app such as Nextcloud, FileN, etc to do automatic backups of their transaction note files. Users can also use Syncthing to backup and sync the transaction note files between devices.

With how I suggested the file structure to be setup by having a file for every single transaction, it will take up little space, and reduce conflicts when using third party syncing/backup tools compared to having a file that will store multiple trasnaction notes or all the transactions notes in one single file.

Conclusion

This feature request will make keeping track of transaction easy and private with the ability to backup and even sync transaction notes to other devices using other apps like Syncthing. Unstoppable Wallet is the best fully open source wallet on the market and the best crypto wallet on F-Droid for degoogled users to have access to and enjoy. Such a feature will enhance this wallet even further.

trymeouteh avatar Mar 02 '21 16:03 trymeouteh

Awesome!

We have actually documented this feature at some point and our idea was similar but instead of keeping notes locally we were thinking to keep them stored encrypted on existing cloud services or some decentralized storage solution.

That said, your approach sounds even more interesting) Before we can get on the task we need to refactor transactions tab as in its current design it gets fairly messy when user does a lot of swaps/approval transactions using DeFi Protocols. This task already scheduled for the current sprint.

esengulov avatar Mar 27 '21 09:03 esengulov

If this comes to be, please have the transaction note be encrypted and please allow for an option for the notes to be saved in a folder on the device of the user choice. Adding cloud storage options will be great as long maintaining the cloud syncing part of the wallet app isn't too much and the cloud syncing code does not make the app get rejected from being published on the F-Droid repo.

trymeouteh avatar Jun 02 '21 01:06 trymeouteh

In the "Coin Control + Generate & Label Addresses for Privacy" feature request I discuss a potential feature on Unstoppable Wallet adding its own syncing feature which could also be used for offline transaction notes. https://github.com/horizontalsystems/unstoppable-wallet-android/issues/4538

trymeouteh avatar Nov 07 '21 01:11 trymeouteh

Updated the main post which explains a way to reduce conflicts when syncing files using third party apps like Syncthing, removes the built in syncing mechanism in the feature request.

trymeouteh avatar Jan 26 '22 01:01 trymeouteh

merged into https://github.com/horizontalsystems/unstoppable-wallet-android/issues/5532

esengulov avatar Apr 11 '23 06:04 esengulov