The following guide aims to provide examples to help you start building Bitcoin-based applications. To make the best use of this document, you may want to install the current version of Bitcoin Core, either from source or from a pre-compiled executable.
Once installed, you’ll have access to three programs:
bitcoin-qtprovides a combination full Bitcoin peer and wallet frontend. From the Help menu, you can access a console where you can enter the RPC commands used throughout this document.
bitcoindis more useful for programming: it provides a full peer which you can interact with through RPCs to port 8332 (or 18332 for testnet).
bitcoin-cliallows you to send RPC commands to
bitcoindfrom the command line. For example,
All three programs get settings from
bitcoin.conf in the
Bitcoin application directory:
bitcoin-cli, you will need to add a RPC password to your
bitcoin.conf file. Both programs will read from the same file if both run on the same system as the same user, so any long random password will work:
You should also make the
bitcoin.conf file only readable to its owner. On Linux, Mac OSX, and other Unix-like systems, this can be accomplished by running the following command in the Bitcoin application directory:
chmod 0600 bitcoin.conf
For development, it’s safer and cheaper to use Bitcoin’s test network (testnet) or regression test mode (regtest) described below.
Questions about Bitcoin use are best sent to the BitcoinTalk forum and IRC channels. Errors or suggestions related to documentation on Bitcoin.org can be submitted as an issue or posted to the bitcoin-documentation mailing list.
In the following documentation, some strings have been shortened or wrapped: “[…]” indicates extra data was removed, and lines ending in a single backslash “\” are continued below. If you hover your mouse over a paragraph, cross-reference links will be shown in blue. If you hover over a cross-reference link, a brief definition of the term will be displayed in a tooltip.