Skip to content

Latest commit

 

History

History
12 lines (8 loc) · 796 Bytes

README.md

File metadata and controls

12 lines (8 loc) · 796 Bytes

iotex-address

This is the golang library of the address used in IoTeX blockchain and relatant products and services.

Address Generation Algorithm

A human readable address looks like io1nyjs526mnqcsx4twa7nptkg08eclsw5c2dywp4. It takes the following steps to be constructed:

  1. Generating a random private key and the corresponding public key using secp256k1's elliptic curve;
  2. Apply keccak256 hash function to the public key (hash := keccak256(pk[1:]), exluding the first byte (which indicates whether the public key is uncompressed or not);
  3. Take the last 20 bytes as the payload (payload := hash[12:]), which is the byte representation of the address;
  4. Apply bech32 encoding on the payload and adding io prefix.