Crown Platform Unique Address Prefix
Motivation
Crown addresses have prefixes 1
and 3
as in Bitcoin now. In order to make Crown addresses unique, new prefixes should be added instead. For example, Trezor wallet cannot distinguish the difference between Crown and Bitcoin now, so it's necessary to build a unique namespace for Crown addresses.
Requirements
Standard Payment Address
- HEX: 017507
- Leading symbols: CRW
- Example:
- Address - CRWGg6VvaNe6zhQ46wuEBci8VerP4qVTw8qq
- Private Key - 5KZT4KD9mFd45h44LkR2ibUdt5EMF15YBtBxuRtomWAFgsAa2wa
Multisig Address
- HEX: 0174F1
- Leading symbols: CRM
- Example: CRM7VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem
Testnet Standard Payment Address
- HEX: 017ACD67
- Leading symbols: tCRW
- Example:
- Address - tCRWHSLRFuFtyUaD8QnEu213ixsitsowUCAcz
- Private Key - 934XPmqjSeJ86X21CtQJ612RV93NswaoEZtA9hQhnTiBDncdFVh
Testnet Multisig Address
- HEX: 017ACD51
- Leading symbols: tCRM
- Example: tCRMXETQaZKANEoecyEcmCxLoE5XFqsNj1VGF
Feature definition
-
Implement
CRW
prefix instead of1
in the next wallets: - Crown Core
- Core Address Convertor #230 (closed), !148 (merged)
- Breadwallet: Breadwallet#1
- Electrum: electrum-crown#1 (closed)
- Trezor: trezor-core#1
- Insight: insight-api-crown#1
- Bitcore: copay-crown#1
- Co-Pay: copay-crown#1
- Paperwallet: CRW-Paperwallet#1
- Create a feature request to the Coinomi developers.
- Create a feature request to the exchanges who support Crown in order to make the switch to new address types.
Acceptance criteria
- New prefix should work automatically (no manual interaction) when the user updates their crown-qt
- Users do not have to remove the Crown Addresses from their saved addresses
- Debug Console commands which use an address are automatically updated to accept CRW
- Multisig wallet generation accepts CRW addresses and rejects old addresses
- Masternode and Systemnode Pubkeys will automatically show CRW prefix
- No Masternode or Systemnode will be removed from the network due to pubkey changes
- Send will only accept valid CRW prefix addresses
- Send will error when the user attempts a transactions without a CRW prefix address
- Generating a new receive address will only produce CRW prefix addresses
Link/references
More details specification is available here:
https://docs.google.com/document/d/1WE9ikiSieQvyiM0iSY7hJh1h6HXIdQZJFD9jkJPW6dc/edit#bookmark=kix.mpze0hvlap2g
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information