Summary or problem description
Scripthash and Address are equivalent and can be converted to each other.privatekey, address and developers often only know privateKey, publicKey, address.Do you have any solution you want to propose?
Therefore, we recommend to remove base58 address, scripthash is the address.
Neo Version
Where in the software does this update applies to?
It's good to me, we have public key, script hash, and base58 address... we don't need 3 ways for the same thing
What do you think @neo-project/core ?
I think we can use scripthash for smart contracts, but base58 for address is very useful for user as it includes checksum to avoid mistakes, so not very sure.
I'd like only one address type, namely scripthash, which is convenient for users and developers.
In etherscan.io, user can even query in contract by address, eg: USDT contract. But for our users, it will be very confused, they don't know what scripthash is.
As @belane said, the checksum add a very important layer
Agree with @belane.
Okay, we'll close related PR. But for me, I don't think checksum is important which is rarely used, most people use copy and paste.
@igormcoelho
Thanks for summoning me here brother @vncoelho ... The address base58 structure is the safest thing we have to prevent malformed addresses and bad transfers. For example, we can easily read an address on QR-code and transfer safely, but with scripthash one would need to fully trust the QR-code security itself, which will probably be not enough. Personally, I would never do a transfer directly based on scripthash, because even a basic mistake (byte ordering, big vs little) would cause catastrophic damage. Finally, address prefixing scheme allows users to recognize it by common letters, and it even possible to recognize addresses from different blockchains (such as Bitcoin) just by looking at it. Please, let's keep it, or even strengthen its applicability (maybe allowing contracts to handle them natively, although slightly expensive), but never remove it.
Most helpful comment
Thanks for summoning me here brother @vncoelho ... The address base58 structure is the safest thing we have to prevent malformed addresses and bad transfers. For example, we can easily read an address on QR-code and transfer safely, but with scripthash one would need to fully trust the QR-code security itself, which will probably be not enough. Personally, I would never do a transfer directly based on scripthash, because even a basic mistake (byte ordering, big vs little) would cause catastrophic damage. Finally, address prefixing scheme allows users to recognize it by common letters, and it even possible to recognize addresses from different blockchains (such as Bitcoin) just by looking at it. Please, let's keep it, or even strengthen its applicability (maybe allowing contracts to handle them natively, although slightly expensive), but never remove it.