Difference between revisions of "Running Bitcoin"
m (testing TOC problem.) |
(Revert.) |
||
Line 1: | Line 1: | ||
− | + | There are two variations of the official bitcoin program available; one with a graphical user interface (usually referred to as just “Bitcoin”), and a 'headless' version (called [[bitcoind]]). They are completely compatible with each other, and take the same command-line arguments, read the same configuration file, and read and write the same data files. You can run one copy of either Bitcoin or bitcoind on your system at a time (if you accidently try to launch another, the copy will let you know that Bitcoin or bitcoind is already running and will exit). | |
− | |||
− | |||
− | == | + | ==Command-line arguments== |
− | + | ||
+ | Give Bitcoin (or bitcoind) the -? or –help argument and it will print out a list of the most commonly used command-line arguments and then exit: | ||
+ | |||
+ | Usage: | ||
+ | bitcoin [options] | ||
+ | bitcoin [options] <command> [params] Send command to -server or bitcoind | ||
+ | bitcoin [options] help List commands | ||
+ | bitcoin [options] help <command> Get help for a command | ||
+ | Options: | ||
+ | -conf=<file> Specify configuration file (default: bitcoin.conf) | ||
+ | -gen Generate coins | ||
+ | -gen=0 Don't generate coins | ||
+ | -min Start minimized | ||
+ | -datadir=<dir> Specify data directory | ||
+ | -proxy=<ip:port> Connect through socks4 proxy | ||
+ | -addnode=<ip> Add a node to connect to | ||
+ | -connect=<ip> Connect only to the specified node | ||
+ | -server Accept command line and JSON-RPC commands | ||
+ | -daemon Run in the background as a daemon and accept commands | ||
+ | -? This help message | ||
+ | |||
+ | ==Bitcoin.conf Configuration File== | ||
+ | All command-line options (except for -datadir and -conf) may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file. | ||
+ | |||
+ | The configuration file is a list of setting=value pairs, one per line, with optional comments starting with the '#' character. | ||
+ | |||
+ | The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, Bitcoin (or bitcoind) will look for a file named 'bitcoin.conf' in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the -datadir and -conf command-line arguments. | ||
+ | {| | ||
+ | ! Operating System | ||
+ | ! Default bitcoin datadir | ||
+ | ! Typical path to configuration file | ||
+ | |- | ||
+ | | Windows | ||
+ | | %APPDATA%\Bitcoin\ | ||
+ | | :\Documents and Settings\username\Application Data\Bitcoin\bitcoin.conf | ||
+ | |- | ||
+ | | Linux | ||
+ | | $HOME/.bitcoin/ | ||
+ | | /Users/username/.bitcoin/bitcoin.conf | ||
+ | |- | ||
+ | | Mac OSX | ||
+ | | $HOME/Library/Application Support/Bitcoin/ | ||
+ | | /Users/username/Library/Application Support/Bitcoin/bitcoin.conf | ||
+ | |} | ||
+ | |||
+ | ==Sample Bitcoin.conf== | ||
+ | Here is a sample bitcoin.conf file, containing every option set to its default value. | ||
+ | |||
+ | # bitcoin.conf configuration file. Lines beginning with # are comments. | ||
+ | |||
+ | |||
+ | # Network-related settings: | ||
+ | |||
+ | # Run on the test network instead of the real bitcoin network. | ||
+ | #testnet=1 | ||
+ | |||
+ | # Connect via a socks4 proxy | ||
+ | #proxy=127.0.0.1:9050 | ||
+ | |||
+ | # Use as many addnode= settings as you like to connect to specific peers | ||
+ | #addnode=69.164.218.197 | ||
+ | #addnode=10.0.0.2:8333 | ||
+ | |||
+ | # ... or use as many connect= settings as you like to connect ONLY | ||
+ | # to specific peers: | ||
+ | #connect=69.164.218.197 | ||
+ | #connect=10.0.0.1:8333 | ||
+ | |||
+ | # Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to | ||
+ | # find other peers. | ||
+ | #noirc=1 | ||
+ | |||
+ | # Maximum number of inbound+outbound connections. | ||
+ | #maxconnections= | ||
+ | |||
+ | |||
+ | # JSON-RPC options (for controlling a running Bitcoin/bitcoind process) | ||
+ | |||
+ | # server=1 tells Bitcoin to accept JSON-RPC commands. | ||
+ | #server=1 | ||
+ | |||
+ | # You must set rpcuser and rpcpassword to secure the JSON-RPC api | ||
+ | #rpcuser=Ulysseys | ||
+ | #rpcpassword=YourSuperGreatPasswordNumber_385593 | ||
+ | |||
+ | # How many seconds bitcoin will wait for a complete RPC HTTP request. | ||
+ | # after the HTTP connection is established. | ||
+ | rpctimeout=30 | ||
+ | |||
+ | # By default, only RPC connections from localhost are allowed. Specify | ||
+ | # as many rpcallowip= settings as you like to allow connections from | ||
+ | # other hosts (and you may use * as a wildcard character): | ||
+ | #rpcallowip=10.1.1.34 | ||
+ | #rpcallowip=192.168.1.* | ||
+ | |||
+ | # Listen for RPC connections on this TCP port: | ||
+ | rpcport=8332 | ||
+ | |||
+ | # You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind | ||
+ | # running on another host using this option: | ||
+ | rpcconnect=127.0.0.1 | ||
+ | |||
+ | # Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate | ||
+ | # with Bitcoin -server or bitcoind | ||
+ | #rpcssl=1 | ||
+ | |||
+ | # OpenSSL settings used when rpcssl=1 | ||
+ | rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH | ||
+ | rpcsslcertificatechainfile=server.cert | ||
+ | rpcsslprivatekeyfile=server.pem | ||
+ | |||
+ | |||
+ | # Miscellaneous options | ||
+ | |||
+ | # Set gen=1 to attempt to generate bitcoins | ||
+ | gen=0 | ||
+ | |||
+ | # Use SSE instructions to try to generate bitcoins faster. | ||
+ | #4way=1 | ||
+ | |||
+ | # Pre-generate this many public/private key pairs, so wallet backups will be valid for | ||
+ | # both prior transactions and several dozen future transactions. | ||
+ | keypool=100 | ||
+ | |||
+ | # Pay an optional transaction fee every time you send bitcoins. Transactions with fees | ||
+ | # are more likely than free transactions to be included in generated blocks, so may | ||
+ | # be validated sooner. | ||
+ | paytxfee=0.00 | ||
+ | |||
+ | # Allow direct connections for the 'pay via IP address' feature. | ||
+ | #allowreceivebyip=1 | ||
+ | |||
+ | |||
+ | # User interface options | ||
+ | |||
+ | # Start Bitcoin minimized | ||
+ | #min=1 | ||
+ | |||
+ | # Minimize to the system tray | ||
+ | #minimizetotray=1 | ||
+ | |||
+ | {{fromold|running_bitcoin}} | ||
+ | [[Category:Technical]][[Category:Developer]] |
Revision as of 04:00, 11 February 2011
There are two variations of the official bitcoin program available; one with a graphical user interface (usually referred to as just “Bitcoin”), and a 'headless' version (called bitcoind). They are completely compatible with each other, and take the same command-line arguments, read the same configuration file, and read and write the same data files. You can run one copy of either Bitcoin or bitcoind on your system at a time (if you accidently try to launch another, the copy will let you know that Bitcoin or bitcoind is already running and will exit).
Command-line arguments
Give Bitcoin (or bitcoind) the -? or –help argument and it will print out a list of the most commonly used command-line arguments and then exit:
Usage:
bitcoin [options] bitcoin [options] <command> [params] Send command to -server or bitcoind bitcoin [options] help List commands bitcoin [options] help <command> Get help for a command
Options:
-conf=<file> Specify configuration file (default: bitcoin.conf) -gen Generate coins -gen=0 Don't generate coins -min Start minimized -datadir=<dir> Specify data directory -proxy=<ip:port> Connect through socks4 proxy -addnode=<ip> Add a node to connect to -connect=<ip> Connect only to the specified node -server Accept command line and JSON-RPC commands -daemon Run in the background as a daemon and accept commands -? This help message
Bitcoin.conf Configuration File
All command-line options (except for -datadir and -conf) may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.
The configuration file is a list of setting=value pairs, one per line, with optional comments starting with the '#' character.
The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, Bitcoin (or bitcoind) will look for a file named 'bitcoin.conf' in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the -datadir and -conf command-line arguments.
Operating System | Default bitcoin datadir | Typical path to configuration file |
---|---|---|
Windows | %APPDATA%\Bitcoin\ | :\Documents and Settings\username\Application Data\Bitcoin\bitcoin.conf |
Linux | $HOME/.bitcoin/ | /Users/username/.bitcoin/bitcoin.conf |
Mac OSX | $HOME/Library/Application Support/Bitcoin/ | /Users/username/Library/Application Support/Bitcoin/bitcoin.conf |
Sample Bitcoin.conf
Here is a sample bitcoin.conf file, containing every option set to its default value.
# bitcoin.conf configuration file. Lines beginning with # are comments. # Network-related settings: # Run on the test network instead of the real bitcoin network. #testnet=1 # Connect via a socks4 proxy #proxy=127.0.0.1:9050 # Use as many addnode= settings as you like to connect to specific peers #addnode=69.164.218.197 #addnode=10.0.0.2:8333 # ... or use as many connect= settings as you like to connect ONLY # to specific peers: #connect=69.164.218.197 #connect=10.0.0.1:8333 # Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to # find other peers. #noirc=1 # Maximum number of inbound+outbound connections. #maxconnections= # JSON-RPC options (for controlling a running Bitcoin/bitcoind process) # server=1 tells Bitcoin to accept JSON-RPC commands. #server=1 # You must set rpcuser and rpcpassword to secure the JSON-RPC api #rpcuser=Ulysseys #rpcpassword=YourSuperGreatPasswordNumber_385593 # How many seconds bitcoin will wait for a complete RPC HTTP request. # after the HTTP connection is established. rpctimeout=30 # By default, only RPC connections from localhost are allowed. Specify # as many rpcallowip= settings as you like to allow connections from # other hosts (and you may use * as a wildcard character): #rpcallowip=10.1.1.34 #rpcallowip=192.168.1.* # Listen for RPC connections on this TCP port: rpcport=8332 # You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind # running on another host using this option: rpcconnect=127.0.0.1 # Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate # with Bitcoin -server or bitcoind #rpcssl=1 # OpenSSL settings used when rpcssl=1 rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH rpcsslcertificatechainfile=server.cert rpcsslprivatekeyfile=server.pem # Miscellaneous options # Set gen=1 to attempt to generate bitcoins gen=0 # Use SSE instructions to try to generate bitcoins faster. #4way=1 # Pre-generate this many public/private key pairs, so wallet backups will be valid for # both prior transactions and several dozen future transactions. keypool=100 # Pay an optional transaction fee every time you send bitcoins. Transactions with fees # are more likely than free transactions to be included in generated blocks, so may # be validated sooner. paytxfee=0.00 # Allow direct connections for the 'pay via IP address' feature. #allowreceivebyip=1 # User interface options # Start Bitcoin minimized #min=1 # Minimize to the system tray #minimizetotray=1
This article uses content from the old wiki. The list of contributors to the old page is available here.