Bitcoin Market Charts, Data & Tools

Bitcoin Price: $1,319.88 (-1.52
Market Cap: $21,516,171,647
Node Count: 6,893

Tutorial: Generate Bitcoin private and public keys

This tool is intended for use as a tutorial to demonstrate how Bitcoin addresses are generated. It is not intended for you to create addresses to use for storing or spending bitcoins; use at your own discretion. The key generation process used in this tutorial is forked from RoyalForkBlog. The Bitcoin public key is base58 encoded to turn it into a Bitcoin address.

Section 1: Generate Private key

Step 1.1: Enter a passphrase.
Step 1.2: Generate private key from passphrase using SHA256 algorithm.
This is reversible back to the passphrase.
SHA256 Private Key of Passphrase: (k)

Section 2: Encode Private Key

Step 2.1: Prepend the SHA256 private key with the version number , "
Step 2.2: Append the SHA256 private key with the compression flag, "
Step 2.3: Calculate and append the SHA256 private key with its checksum at the end, "
Structured Private Key:
Step 2.4: Encode this structured private key with Base58 for easier readability.
This is reversible back to the structured private key.
This is the final private key.
Base58 Encoded Structured Private Key:

Section 3: Plot the Private Key

Step 3.1 Multiply the SHA256 private key of Passphrase (k) by the eliptic curve generator point.
kpub =
Step 3.2 Where the private key is charted on the eliptic curve, this has an x and y coordinate.
x =
y =

Section 4: Generate the Public Key

Step 4.1 Get the parity of the y coordinate.
(An even parity is 02 and an odd parity is 03)
is ODD.
ODD. Parity of y:
Step 4.2 Prepend the parity of y to the x coordinate for the full public key representation.
Full Public Key Representation:
03 f5c33e2cdf69bbf27bb89e1c050fb645d4b06b87a06958842fd30a7cfa86294c
Step 4.3 Apply SHA256 to the full public key representation.
Step 4.4 Then apply RIPEMD160 to the output of step 4.3 to create the hashed public key.
Hashed Public Key:

Section 5: Encode the Public Key

Step 5.1 Prepend the hashed public key with the version number, 00.
(Different to the version number in step 2.1)
Step 5.2 Calculate and append the hashed public key with its checksum at the end, 602653DA.
(Same as step 2.3)
Structured Public Key:
00 1aadd6e3649dba3532ce20f274a905bf96935676 602653DA
Step 5.3 Encode this hashed public key with Base58 for easier readability.
This is reversible back to the structured public key.
This is the final public key.
Base58 Encoded Hashed Public Key:
13S4pZZQdVBYeyKiXb2nozc7rWZSccQAjT is a web service dedicated to providing Bitcoin market stats and charting data on some key components of the Bitcoin network, such as Bitcoin exchanges and Bitcoin nodes. CoinSalad monitors all the major USD-currency based exchanges on the market providing near real-time market data. Listed exchanges have shown to have steady and decent volume. Learn more about CoinSalad or feel free to send us an email. Follow us on Twitter @CoinSalad. 2017 ❤ Developer Bitcoin donation address: 12nfK3GZXoBE9eJNB8WbMrvJEFRCK8FX7d