edgecase
Author: StJohn Piano
This page is subject to change at any time. It is not signed by its author or by Edgecase Datafeed.




A Bitcoin address is the public entity that holds bitcoin. Anyone can know the address and send Bitcoin payments to it.

An address is derived from a private key. The private key is the entity that can authorise a payment from the address. It must be kept secret. Anyone who knows it can spend bitcoin from the corresponding address.

Once you have created a private key, you must derive the corresponding address from it, so that bitcoin can be sent to this address.

Currently, Edgecase software only supports the generation of standard addresses.

Edgecase's working definition of a standard address:
- An uncompressed single-signature Pay-To-Public-Key-Hash (P2PKH) address.

Standard addresses start with the character '1'.

You will need:
- A private key (32 bytes of high-quality entropy)
- An offline computer with Python 2.7.x installed. The code has been developed under Python 2.7.13 running on Mac OS X 10.6.8 (Snow Leopard), and should run successfully on other versions of Python 2.7.

Browse to the article Recipe for generating a Bitcoin address. Use this recipe to generate a standard Bitcoin address from your private key.



For more information concerning Bitcoin addresses:

- Browse to the article Generating a standard Bitcoin address. Go to the Notes / Discoveries section. Go to the part "Notes on the nature, secure creation, and validity of Bitcoin private keys and transactions". Read items (4) and (5).

- Browse to the article Generating a standard Bitcoin address. Go to the Notes / Discoveries section. Read the parts "Algorithm for generating a Bitcoin address" and "Base-58 conversion table".

- Browse to the article Creating and signing a standard raw Bitcoin transaction. Go to the Notes / Discoveries section. Read the following part:
-- Algorithm for deriving the public key hash from a standard Bitcoin address



For information concerning nonstandard Bitcoin addresses:

- Browse to the article Creating and signing a standard raw Bitcoin transaction. Go to the Notes / Discoveries section. Read the following parts:
-- P2SH multi-signature addresses - security
-- P2SH multi-signature addresses - results from this project