Public key to bitmessage address
Jump to navigation
Jump to search
This page is a stub, you can help by expanding it.
This page briefly describes, how to generate a Bitmessage Address from a public key. The variable after the list is used to refer to the step later
- Create a private and a public key for encryption and signing (resulting in 4 keys)
- Merge the public part of the signing key and the encryption key together. (A)
- Take the SHA512 hash of A. (B)
- Take the RIPEMD160 of B. (C)
- Repeat step 1-4 until you have a result that starts with a zero (Or two zeros, if you want a short address). (D)
- Remove the zeros at the beginning of D. (E)
- Put the stream number (in big endian) in front of E. (F)
- Put the address version (in big endian) in front of F. (G)
- Take a double SHA512 (hash of a hash) of G and use the first four bytes as a checksum, that you append to the end. (H)
- base58 encode H. (J)
- Put "BM-" in front J. (K)
K is your full address
Note: Bitmessage's base58 encoding uses the following sequence: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz". Many existing libraries for base58 do not use this ordering.