Skip to content
Luke edited this page Jul 3, 2014 · 5 revisions

Addresses within MaxCoin are almost identical to those in Bitcoin. A MaxCoin address is a base58-encoded hash of a public key and a network identifier, or version. The address also contains a checksum in the final 4 bytes. The encoding can be outlined as follows:

version = 110
hash = RIPEMD160(SHA256(public_key))
versioned_hash = concatenate(version, hash)
checksum = substr(SHA3(versioned_hash), 0, 4)
address = BASE58(concatenate(versioned_hash, checksum))

This is essentially the same as with Bitcoin except using a single round of Keccak instead of a double round of SHA256 when calculating the checksum.

To create the Wallet Import Format (WIF) private key for a MaxCoin address, a similar method is employed:

version = 128 // 0x80
versioned_key = concatenate(version, private_key)
hash = SHA3(versioned_key)
checksum = substr(versioned_key, 0, 4)
wif = BASE58(concatenate(versioned_key, checksum))

Examples of how to generate MaxCoin addresses in a variety of languages can be found here.

MaxCoin addresses always begin with an 'm', encoded by a bye with a decimal value of 110. MaxCoin private keys always begin with a byte with a decimal value of 128.

Clone this wiki locally