xmrwallet
xmrwallet copied to clipboard
Feature request: Address Book
Unless I somehow managed to miss the obvious, there doesn't seem to be a way to tie Monero addresses with contacts.
I imagine two ways of going about doing this: one is linking monero addresses to real android contacts and requiring the contacts permission, which some people may find suspicious. It also has privacy implications outside of Monerujo, since other apps with permission to read contacts could ostensibly snatch & ship this information to their respective motherships.
Another option is leveraging the addressbook functionality already present in simplewallet, and keeping it separate from system contacts.
One thing is for sure: either one of these solutions beats having to store the address of a friend, family member, etc, outside of the flow of the application.
i feel using android contacts is a privacy nightmare, especially since one would be sharing information about others without their permission (hello whatsapp!).
using the builtin addressbook is (probably) cumbersome since it's tied to a wallet- i.e. addresses are wallet-specific. this may not be such a big issue. what i am thinking about is creating an addressbook using keepass tech which would be wallet-agnostic and is kept in monerujo-storage so it's can't be read by other apps since it would be encoded with the monerujo-key used for crazypass. it would be readable by "anyone" who has access to any wallet. not sure that's a good thing.
my personal current solution is to have a bunch of qr codes "lying around" off-device which i can use for sending my sweet moneroj. i feel this is the best solution for maintaining the privacy of third parties.
@kykeon @jonathancross what do you think?
OpenAlias is preferred, but it may make sense to associate addresses with names, phone numbers, or emails in the encrypted storage. This would simplify the process for making repeat payments to people. You could essentially allow them to assign miscellaneous text to addresses, which can be typed in the send field and looked up locally.
Example behaviors:
Sending to an address: 4... / 8...
Sending to OpenAlias: donate.getmonero.org
Sending to string with pre-set address: name / 8008008000 / [email protected]
For the last part, maybe implementation would be simpler if you required a special character like @ or $ first, eg: $name or [email protected].
I agree with you all.
Interacting with the system contacts might upset some people.
I like @SamsungGalaxyPlayer's suggestion: "miscellaneous text to addresses" as it is very simple and non-controversial approach. You'd just allow labeling addresses with arbitrary text (can be a name, etc).
But I'd suggest avoiding parsing the address field looking for special patterns, but rather just have an icon (➡️) to select an address from the address book.
- There should be a seperate screen that lets users add new mappings ("string" => address).
- Same screen can list all existing addresses.
- Can have an icon (eg ➡️) which when tapped, wil prefill that address into the "Receiver's address" field.
- The Give screen address input field should allow user to select an address from that list.
- Probably easiest to have a small icon letting users tap to "Select a recipient from the address book".
- Can optionally show the recipient address "name" below the address.
- Old transactions should ideally show the label if one exist for the given address.
- Would be nice if an address in a spent transaction could be tapped to add it to the address book.
~~Seems that Open Alias integration can be added later as an enhancement if needed?~~
As for how it is implemented, the idea of using Keepass would be great if it doesn't add unnecessary complexity. How are the "Private Notes" stored currently? A simple key=>value store may be enough. Should be encrypted though.
Making the "Address book" persist across wallets makes sense to me.
Edit: clarification.
@jonathancross OpenAlias is already implemented :)
@SamsungGalaxyPlayer Yeah, I responded too early before checking... got impatient while Monerujo was syncing. Fixed now :-)
I think we should follow the official Monero GUI in this case. It got pretty good address book feature. (It's stored in the wallet encrypted I guess and the user has to know that wallet key to access it or something)
This would be very useful