Skip to content

Commit

Permalink
Update readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
RGGH authored Nov 4, 2024
1 parent 885cbeb commit 82e1811
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,13 @@ This is a demo, it uses Legacy Bitcoin addresses, which start with a 1 for P2PKH
Example: 1PMycacnJaSqwwJqjawXBErnLsZ7RkXUAs.
Encoding: Base58Check encoding.
Type: P2PKH (Pay-to-Public-Key-Hash).

This code generates a legacy Bitcoin address from a given public key in hexadecimal format. It performs the following steps:

1. **Hex to Bytes**: Converts the input hexadecimal string into a byte array.
2. **SHA-256 Hashing**: Computes the SHA-256 hash of the public key bytes.
3. **RIPEMD-160 Hashing**: Hashes the SHA-256 result using the RIPEMD-160 algorithm.
4. **Version Byte**: Prepends a version byte (0x00) to the RIPEMD-160 hash, indicating it's for the main Bitcoin network.
5. **Checksum Calculation**: Computes the SHA-256 hash of the versioned hash, then performs SHA-256 again to derive a checksum.
6. **Checksum Append**: Appends the first four bytes of the checksum to the versioned hash.
7. **Base58 Encoding**: Converts the final byte array into a Base58 string, resulting in the Bitcoin address.

0 comments on commit 82e1811

Please sign in to comment.