Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address optimisation #1094

Open
surg0r opened this issue Mar 24, 2018 · 0 comments
Open

Address optimisation #1094

surg0r opened this issue Mar 24, 2018 · 0 comments
Projects

Comments

@surg0r
Copy link
Member

surg0r commented Mar 24, 2018

Current QRL addresses are treated as binary within the node/p2p layer at all times.

For human readable purposes in the CLI, webwallet and explorer, addresses are converted to hexstring format and prepended with 'Q'.

A hexstring address example would be:
0106002686acdc89087479103b69a1094b1b96da91675adca4952aa16f51b32d93d6e1b6bd10c0

A simple optimisation by converting addresses to base58 strings can reduce address length by approximately one third, improving readability and reducing screen space required for address display on the explorer. This will not require any changes to the node as the changes are cosmetic and occur above/outside the p2p layer and gRPC interface.

The above hexstring converted to b58 is:
hV5y8TYSikKYFCcJA3cCuqbeJSaiKTJ5TQiB8sPgUjjnb2PmVvkf

Furthermore, we can discuss implementing features from other cryptocurrencies such as BECH32 which incorporates error correction to prevent transcribing errors.

TBD after mainnet launch.

NB. Code required for a simple base58 change is a pair of widely available functions in pyqrllib (bin2b58str, b58str2bin) with functionally identical JS versions in the wallet and explorer.

@jleni jleni added this to To do in V1.1 via automation Mar 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
V1.1
  
To do
Development

No branches or pull requests

1 participant