Address type code used to differentiate between pay-to-public-key, pay-to-script, pay-to-script-hash addresses.
Address type code used to differentiate between pay-to-public-key, pay-to-script, pay-to-script-hash addresses.
NOTE: Network type code is defined by ErgoAddressEncoder attached to each ErgoAddress instance and it is not included in this value.
Serialized bytes of the address content (depending on the address type).
Serialized bytes of the address content (depending on the address type). Doesn't include network type and address type prefix byte.
Network type code to be used in address encoding.
ErgoTree which corresponds to the address (depending on the address type).
ErgoTree which corresponds to the address (depending on the address type).
(Since version ) see corresponding Javadoc for more information.
An address is a short string corresponding to some script used to protect a box. Unlike (string-encoded) binary representation of a script, an address has some useful characteristics:
- Integrity of an address could be checked., as it is incorporating a checksum. - A prefix of address is showing network and an address type. - An address is using an encoding (namely, Base58) which is avoiding similarly l0Oking characters, friendly to double-clicking and line-breaking in emails.
An address is encoding network type, address type, checksum, and enough information to watch for a particular scripts.
Possible network types are: Mainnet - 0x00 Testnet - 0x10
Address types are, semantics is described below: 0x01 - Pay-to-PublicKey(P2PK) address 0x02 - Pay-to-Script-Hash(P2SH) 0x03 - Pay-to-Script(P2S)
For an address type, we form content bytes as follows:
P2PK - serialized (compressed) public key P2SH - first 192 bits of the Blake2b256 hash of serialized script bytes P2S - serialized script
Address examples for testnet:
3 - P2PK (3WvsT2Gm4EpsM9Pg18PdY6XyhNNMqXDsvJTbbf6ihLvAmSb7u5RN) ? - P2SH (rbcrmKEYduUvADj9Ts3dSVSG27h54pgrq5fPuwB) ? - P2S (Ms7smJwLGbUAjuWQ)
for mainnet:
9 - P2PK (9fRAWhdxEsTcdb8PhGNrZfwqa65zfkuYHAMmkQLcic1gdLSV5vA) ? - P2SH (8UApt8czfFVuTgQmMwtsRBZ4nfWquNiSwCWUjMg) ? - P2S (4MQyML64GnzMxZgm, BxKBaHkvrTvLZrDcZjcsxsF7aSsrN73ijeFZXtbj4CXZHHcvBtqSxQ)
Prefix byte = network type + address type
checksum = blake2b256(prefix byte ++ content bytes)
address = prefix byte ++ content bytes ++ checksum