Running Bitcoin: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Sgornick (talk | contribs)
m testing TOC problem.
Sgornick (talk | contribs)
Revert.
Line 1: Line 1:
==TOC 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).
===test===
x


==TOC 2==
==Command-line arguments==
test
 
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.