Base58Check
https://en.bitcoin.it/wiki/Base58Check_encoding Base58Check is a format based on Base58 and used a lot in bitcoin, for encoding addresses and private keys for example. It includes a prefix (usually a single byte) and a checksum so you know what has been encoded, and that it has been transmitted correctly. For example, to create an address for a public key you could write:
val pub: BinaryData = "0202a406624211f2abbdc68da3df929f938c3399dd79fac1b51b0e4ad1d26a47aa"
val address = Base58Check.encode(Base58.Prefix.PubkeyAddress, Crypto.hash160(pub))
And to decode a private key you could write:
// check that is it a mainnet private key
val (Base58.Prefix.SecretKey, priv) = Base58Check.decode("5J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn")
- Source:
- Base58.scala
Value members
Concrete methods
Decodes Base58 data that has been encoded with a single byte prefix
Decodes Base58 data that has been encoded with a single byte prefix
NB: requirement check will throw an IllegalArgumentException if the checksum that is part of the encoded data cannot be verified
- Value parameters:
- encoded
encoded data
- Returns:
a (prefix, data) tuple
- Source:
- Base58.scala
Decodes Base58 data that has been encoded with an integer prefix
Decodes Base58 data that has been encoded with an integer prefix
NB: requirement check will throw an IllegalArgumentException if the checksum that is part of the encoded data cannot be verified
- Value parameters:
- encoded
encoded data
- Returns:
a (prefix, data) tuple
- Source:
- Base58.scala
Decodes Base58 data that has been encoded with several bytes prefix
Decodes Base58 data that has been encoded with several bytes prefix
NB: requirement check will throw an IllegalArgumentException if the checksum that is part of the encoded data cannot be verified
- Value parameters:
- encoded
encoded data
- Returns:
a (prefix, data) tuple
- Source:
- Base58.scala
Encode data in Base58Check format. For example, to create an address from a public key you could use:
Encode data in Base58Check format. For example, to create an address from a public key you could use:
- Value parameters:
- data
date to be encoded
- prefix
version prefix (one byte)
- Returns:
a Base58 string
- Source:
- Base58.scala
- Value parameters:
- data
data to be encoded
- prefix
version prefix (integer, as used with BIP32 ExtendedKeys for example)
- Returns:
a Base58 String
- Source:
- Base58.scala
- Value parameters:
- data
data to be encoded
- prefix
version prefix (several bytes, as used with BIP32 ExtendedKeys for example)
- Returns:
a Base58 String
- Source:
- Base58.scala