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'.

Example standard Bitcoin address (34 characters):
1AGygbyEFYduWkkmZbbvirgS9kuBBMLJCP


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 more 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


Nonstandard Pay-To-Script-Hash (P2SH) addresses begin with the character '3'. Example:
The address
328cTqexYnQRbN5Dgs12D89sYiPPvtWVbF

begins with a '3' and is therefore a P2SH address.