hashgraph / hedera-mirror-node-explorer

Hedera Mirror Node Explorer for the Hedera Hashgraph DLT.
Apache License 2.0
15 stars 12 forks source link

Support for QR code in explorer #594

Open gregscullard opened 1 year ago

gregscullard commented 1 year ago

Problem

Inputting account numbers in wallets manually can lead to errors, suggestion is to add a QR code for accounts (maybe also contracts) such that they can be read by a wallet application.

Proposal is to add a link to accounts and contracts such that AccountId, EVM address, Alias can be displayed as a QR code.

For IDs (such as accountId and contractId), the QR code being displayed should include an option to include the checksum or not (default with checksum)

Solution

Add links to IDs and addresses (EVM, Alias) in the explorer that pop up a QR code, if the QR code is for an ID, include an option to enable/disable the checksum in the QR code (default on).

Alternatives

No response

gregscullard commented 1 year ago

Arguing against my own suggestion below:

In order to see the page for an account that would include a QR code for it to scan with a mobile wallet, you have to first search for the account so not 100% sure it really improves the user experience.

Besides if I type the wrong account Id (0.0.1233 instead of 0.0.1223), the QR code will show the 0.0.1233 including its checksum and that will mean the error in typing the account id in the explorer won't be noticed by the wallet.

Checksums are most valuable when the accountId is typed manually... otherwise they're just a reflection of bad input in the first place...

lbaird commented 1 year ago

That's true. A QR code already has its own checksum. So it would be fine for the QR code to just encode 0.0.1234 rather than 0.0.2234-abcde. The extra checksum would only be used when a user is manually typing the account number.

lbaird commented 1 year ago

Most wallets (such as Hashpack) already show QR codes for account IDs.

Liebenfiels commented 1 year ago

I think QR code in text readable format would be tremendous help, it work in early days when users have myhbarwallet phone version with QR. QR codes in single text readable standard are broadly used in many networks and Hedera accounts are not longer 4-5 digits in length it will help as it can work as such: Explorer via desktop to phone wallet interactions- user types account ID on desktop explorer where it has all the additonal details of account (balance, last transaction, node staked, check sum) so very unlikely it will not realize the account is wrong as all the other details will not match. When using desktop it is easier to type correctly on physical keyboard than touch screen on mobile phone. Then I would suggest to include QR code for accounts with check sum on explorers and wallet (must be text readable format to be able to confirm with phone camera, not locked wallet specific QR that user cannot read), and account copy button as on blockchair.com explorers for many network. User need to understand check sum, hence I would include it. Wallet would do the check if account ID matches check sum in QR code (account ID + check sum as text readable).

The 5 letter check sum adds that extra length and variability/complexity needed for QR (account 1234 and 1243 will have now many more characters different in QR if check sum is included, not just single digit difference). Good especially for shorter accounts, it is less likely it will fail and if fails it will fail safe if QR gets corrupted and now account ID will not match check sum, if either that or that is wrong. Then user would grab the QR code with phone without need to re-type in phone wallet.

Also user can send snapshot of QR code and with account details e.g. 1234 in email/priv message and easier for receiver to scan QR and also check if it matches 1234 that user stated what the QR code is for. It will be secondary check for user: scan QR and check if displays 1234 as in email.

Phone wallet to phone wallet interaction- wallet to display text readable QR code for account with check sum. Other user scans wallet QR e.g. meet up/conference for direct interactions as with other network. Can you scan now blade wallet QR code with hashscan phone wallet? All wallets must use single standard as we have multiple wallets now in ecosystem.

Desktop explorer to chrome wallet extension, or phone wallet and explorer accesses via phone- here again copy button of account on explorer would help as user would type account ID first on explorer where has all the extra information that wallet will not display, then use copy button to paste to wallet.

How many times people still mistype exchange account, it typed first on explorer they would realize is wrong as e.g not many transactions, big balance as expected etc. Of course for frequently used accounts, users adds later to favorite. Even if does not understand how check sum works will realize that typed wrong account by looking on explorer. e.g. 1234 instead of 1234 as account balance and history seen on explorer will all be different to what expected.

Liebenfiels commented 1 year ago

Also please check what scanner type the Hedera wallet was using at time- I still have working version with QR scanner, but the format ideally need to include the newest checksum. I spoke to Nik S at time why there is no QR code on his explorer he said at a time because Hedera had no check sum (years back) implemented and it will not be secure to put QR for account ID only.

Liebenfiels commented 11 months ago

Can we have an update please: Explorers- there are still no QR code for account with checksum Wallets- some have some don’t, but no uniform single QR standard exist in ecosystem after 5 years of network existence** Thank you Michal

bguiz commented 9 months ago

A registry/ name service - for example ENS-like - could be one way to solve for this... but I think not so relevant for this particular issue.

Besides if I type the wrong account Id (0.0.1233 instead of 0.0.1223), the QR code will show the 0.0.1233 including its checksum and that will mean the error in typing the account id in the explorer won't be noticed by the wallet.

bguiz commented 9 months ago

In terms of how this could be designed into the UI, I do like the way that iancoleman.io/bip39 does it, where if you click on a field it toggles the visibility of the QR code in the corner. image

(The same site also toggles upon mouse hover, but I'm not a fan, as it tends to result in a bunch of "flicker")

Liebenfiels commented 9 months ago

This explorer has good one also please note it is copy button on right, you need both really https://blockchair.com/bitcoin/address/34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo

QR code is the missing key in the Hedera ecosystem preventing mass adoption to happen.

Everyone outside crypto understands QR code and use it on train, flights, products shops etc -hence ecosystem need to use something people are well familiar with. Hence it is critical to move it forward and implement to help onboarding