Print all states of getting from a random 256 bit private key to a corresponding encoded BTC address I wonder if it is possible to print what's going on under the hood regarding the process of getting from a random binary number to a BTC address. 

It will look something like this:

Input: a random 256 binary number

Output: print()

Printing all possible sequential states from that number to a BTC address. 

PRIVATE KEY STATES

binary privKey [k] -&gt; decimal privKey -&gt; hexadecimal privKey -&gt; WIF privKey


PUBLIC KEY STATES

decimal pubKey print(x,y) -&gt; print K where [K=(x,y)] -&gt; hexadecimal PubKey (A) -&gt; print A=RIPEMD160(SHA2569(K))


It will help a lot of people interested in the details of creating BTC addresses, from the elliptic curve private to public key process (K=k*G) to the other encoding steps until the final address. 

On GitHub and other places, .js or .py libraries just print the WIF key and the address, and sometimes the hexadecimal public key as well.  

Thanks.
The bitcoin developper pages show the steps in all details for type 1 addresses.

For the type 1 addresses, there is a good link here to test results.

Then there is HD wallets, Segwit, and many other extensions... 

Maybe it is good to start for type 1 addresses, and extend with your ideas of "under the hood crypto". I stick to Nate's comment though.