|
|
(14 intermediate revisions by 6 users not shown) |
Line 15: |
Line 15: |
| ==Command-line arguments== | | ==Command-line arguments== |
| | | |
− | Give bitcoind the -? or –-help argument and it will print out a list of the most commonly used command-line arguments and then exit:
| + | You can get a list of command line options of the version of Bitcoin Core that you are running either in the GUI ("Help" --> "Command-line options") or the daemon ("bitcoind -?"). |
− | | |
− | Bitcoin Core Daemon version v0.10.2
| |
− |
| |
− | Usage:
| |
− | bitcoind [options] Start Bitcoin Core Daemon
| |
− |
| |
− | Options:
| |
− | -? This help message
| |
− | -alertnotify=<cmd> Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)
| |
− | -blocknotify=<cmd> Execute command when the best block changes (%s in cmd is replaced by block hash)
| |
− | -checkblocks=<n> How many blocks to check at startup (default: 288, 0 = all)
| |
− | -checklevel=<n> How thorough the block verification of -checkblocks is (0-4, default: 3)
| |
− | -conf=<file> Specify configuration file (default: bitcoin.conf)
| |
− | -daemon Run in the background as a daemon and accept commands
| |
− | -datadir=<dir> Specify data directory
| |
− | -dbcache=<n> Set database cache size in megabytes (4 to 1024, default: 100)
| |
− | -loadblock=<file> Imports blocks from external blk000??.dat file on startup
| |
− | -maxorphantx=<n> Keep at most <n> unconnectable transactions in memory (default: 100)
| |
− | -par=<n> Set the number of script verification threads (-32 to 16, 0 = auto, <0 = leave that many cores free, default: 0)
| |
− | -pid=<file> Specify pid file (default: bitcoind.pid)
| |
− | -reindex Rebuild block chain index from current blk000??.dat files on startup
| |
− | -sysperms Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality)
| |
− | -txindex Maintain a full transaction index, used by the getrawtransaction rpc call (default: 0)
| |
− | -prune=<n> Run node in pruned mode, <n> number of MB to allot for raw block & undo data (default: disabled)
| |
− | | |
− | Connection options:
| |
− | -addnode=<ip> Add a node to connect to and attempt to keep the connection open
| |
− | -banscore=<n> Threshold for disconnecting misbehaving peers (default: 100)
| |
− | -bantime=<n> Number of seconds to keep misbehaving peers from reconnecting (default: 86400)
| |
− | -bind=<addr> Bind to given address and always listen on it. Use [host]:port notation for IPv6
| |
− | -connect=<ip> Connect only to the specified node(s)
| |
− | -discover Discover own IP address (default: 1 when listening and no -externalip)
| |
− | -dns Allow DNS lookups for -addnode, -seednode and -connect (default: 1)
| |
− | -dnsseed Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)
| |
− | -externalip=<ip> Specify your own public address
| |
− | -forcednsseed Always query for peer addresses via DNS lookup (default: 0)
| |
− | -listen Accept connections from outside (default: 1 if no -proxy or -connect)
| |
− | -maxconnections=<n> Maintain at most <n> connections to peers (default: 125)
| |
− | -maxreceivebuffer=<n> Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)
| |
− | -maxsendbuffer=<n> Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)
| |
− | -onion=<ip:port> Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: -proxy)
| |
− | -onlynet=<net> Only connect to nodes in network <net> (ipv4, ipv6 or onion)
| |
− | -permitbaremultisig Relay non-P2SH multisig (default: 1)
| |
− | -port=<port> Listen for connections on <port> (default: 8333 or testnet: 18333)
| |
− | -proxy=<ip:port> Connect through SOCKS5 proxy
| |
− | -seednode=<ip> Connect to a node to retrieve peer addresses, and disconnect
| |
− | -timeout=<n> Specify connection timeout in milliseconds (minimum: 1, default: 5000)
| |
− | -whitebind=<addr> Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6
| |
− | -whitelist=<netmask> Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times.
| |
− | Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway
| |
− |
| |
− | Wallet options:
| |
− | -disablewallet Do not load the wallet and disable wallet RPC calls
| |
− | -keypool=<n> Set key pool size to <n> (default: 100)
| |
− | -paytxfee=<amt> Fee (in BTC/kB) to add to transactions you send (default: 0.00)
| |
− | -rescan Rescan the block chain for missing wallet transactions on startup
| |
− | -salvagewallet Attempt to recover private keys from a corrupt wallet.dat on startup
| |
− | -sendfreetransactions Send transactions as zero-fee transactions if possible (default: 0)
| |
− | -spendzeroconfchange Spend unconfirmed change when sending transactions (default: 1)
| |
− | -txconfirmtarget=<n> If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: 2)
| |
− | -maxtxfee=<amt> Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: 0.10)
| |
− | -upgradewallet Upgrade wallet to latest format on startup
| |
− | -walletbroadcast=<n> Automatic transaction broadcast and rebroadcast (default=1)
| |
− | -wallet=<file> Specify wallet file (within data directory) (default: wallet.dat)
| |
− | -walletnotify=<cmd> Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)
| |
− | -zapwallettxes=<mode> Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup
| |
− | (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data)
| |
− |
| |
− | Debugging/Testing options:
| |
− | -debug=<category> Output debugging information (default: 0, supplying <category> is optional)
| |
− | If <category> is not supplied, output all debugging information.
| |
− | <category> can be: addrman, alert, bench, coindb, db, lock, rand, rpc, selectcoins, mempool, net.
| |
− | -gen Generate coins (default: 0)
| |
− | -genproclimit=<n> Set the number of threads for coin generation if enabled (-1 = all cores, default: 1)
| |
− | -help-debug Show all debugging options (usage: --help -help-debug)
| |
− | -logips Include IP addresses in debug output (default: 0)
| |
− | -logtimestamps Prepend debug output with timestamp (default: 1)
| |
− | -printtoconsole Send trace/debug info to console instead of debug.log file
| |
− | -shrinkdebugfile Shrink debug.log file on client startup (default: 1 when no -debug)
| |
− | -testnet Use the test network
| |
− |
| |
− | Node relay options:
| |
− | -minrelaytxfee=<amt> Fees smaller than this (in satoshi) are considered zero fee (relaying and mining) (default: 1000)
| |
− | -limitfreerelay=<n> Rate-limit free transactions to <n>*1000 bytes per minute (default: 15)
| |
− | -datacarrier Relay and mine data carrier transactions (default: 1)
| |
− | -datacarriersize Maximum size of data in data carrier transactions we relay and mine (default: 40)
| |
− |
| |
− | Block creation options:
| |
− | -blockminsize=<n> Set minimum block size in bytes (default: 0)
| |
− | -blockmaxsize=<n> Set maximum block size in bytes (default: 750000)
| |
− | -blockprioritysize=<n> Set maximum size of high-priority/low-fee transactions in bytes (default: 50000)
| |
− |
| |
− | RPC server options:
| |
− | -server Accept command line and JSON-RPC commands
| |
− | -rest Accept public REST requests (default: 0)
| |
− | -rpcbind=<addr> Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)
| |
− | -rpcuser=<user> Username for JSON-RPC connections
| |
− | -rpcpassword=<pw> Password for JSON-RPC connections
| |
− | -rpcport=<port> Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332)
| |
− | -rpcallowip=<ip> Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times
| |
− | -rpcthreads=<n> Set the number of threads to service RPC calls (default: 4)
| |
− | -rpckeepalive RPC support for HTTP persistent connections (default: 1)
| |
− | | |
− | RPC SSL options: (has been removed as of upcoming v0.12)
| |
− | -rpcssl Use OpenSSL (https) for JSON-RPC connections
| |
− | -rpcsslcertificatechainfile=<file.cert> Server certificate file (default: server.cert)
| |
− | -rpcsslprivatekeyfile=<file.pem> Server private key (default: server.pem)
| |
− | -rpcsslciphers=<ciphers> Acceptable ciphers (default: TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH)
| |
− | | |
− | Many of the boolean options can also be set to off by specifying them with a "no" prefix: e.g. -nodnseed.
| |
| | | |
| ==Bitcoin.conf Configuration File== | | ==Bitcoin.conf Configuration File== |
Line 132: |
Line 22: |
| The configuration file is a list of setting=value pairs, one per line, with optional comments starting with the '#' character. | | 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. | + | The configuration file is not automatically created; you can create it using your favorite plain-text editor. A user-friendly configuration file generator is [https://jlopp.github.io/bitcoin-core-config-generator/ available here]. 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 | | ! Operating System |
Line 140: |
Line 30: |
| | Windows | | | Windows |
| | %APPDATA%\Bitcoin\ | | | %APPDATA%\Bitcoin\ |
− | | (XP) C:\Documents and Settings\username\Application Data\Bitcoin\bitcoin.conf | + | | C:\Users\username\AppData\Roaming\Bitcoin\bitcoin.conf |
− | (Vista, 7) C:\Users\username\AppData\Roaming\Bitcoin\bitcoin.conf
| |
| |- | | |- |
| | Linux | | | Linux |
Line 155: |
Line 44: |
| | | |
| ==Sample Bitcoin.conf== | | ==Sample Bitcoin.conf== |
− | Here is a sample bitcoin.conf file.
| |
| | | |
− | # bitcoin.conf configuration file. Lines beginning with # are comments.
| + | See here https://github.com/bitcoin/bitcoin/blob/master/share/examples/bitcoin.conf |
− |
| |
− |
| |
− | # Network-related settings:
| |
− |
| |
− | # Run on the test network instead of the real bitcoin network.
| |
− | #testnet=0
| |
− |
| |
− | # Connect via a socks4 proxy
| |
− | #proxy=127.0.0.1:9050
| |
− |
| |
− | ##############################################################
| |
− | ## Quick Primer on addnode vs connect ##
| |
− | ## Let's say for instance you use addnode=4.2.2.4 ##
| |
− | ## addnode will connect you to and tell you about the ##
| |
− | ## nodes connected to 4.2.2.4. In addition it will tell ##
| |
− | ## the other nodes connected to it that you exist so ##
| |
− | ## they can connect to you. ##
| |
− | ## connect will not do the above when you 'connect' to it. ##
| |
− | ## It will *only* connect you to 4.2.2.4 and no one else.##
| |
− | ## ##
| |
− | ## So if you're behind a firewall, or have other problems ##
| |
− | ## finding nodes, add some using 'addnode'. ##
| |
− | ## ##
| |
− | ## If you want to stay private, use 'connect' to only ##
| |
− | ## connect to "trusted" nodes. ##
| |
− | ## ##
| |
− | ## If you run multiple nodes on a LAN, there's no need for ##
| |
− | ## all of them to open lots of connections. Instead ##
| |
− | ## 'connect' them all to one node that is port forwarded ##
| |
− | ## and has lots of connections. ##
| |
− | ## Thanks goes to [Noodle] on Freenode. ##
| |
− | ##############################################################
| |
− |
| |
− | # 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
| |
− |
| |
− |
| |
− | # Maximum number of inbound+outbound connections.
| |
− | #maxconnections=
| |
− |
| |
− |
| |
− | # JSON-RPC options (for controlling a running Bitcoin/bitcoind process)
| |
− |
| |
− | # server=1 tells Bitcoin-QT to accept JSON-RPC commands.
| |
− | #server=0
| |
− |
| |
− | # You must set rpcuser and rpcpassword to secure the JSON-RPC api
| |
− | #rpcuser=Ulysseys
| |
− | #rpcpassword=random_authvalue_DO_NOT_USE_THIS_STRING_OR_YOU_WILL_GET_ROBBED._USE_THE_ONE_BITCOIND_RECOMMENDS_WHEN_RUN_WITHOUT_ONE_SET_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. As of Bitcoin Core 0.10.0, wildcards are no longer allowed. Use one of the sample forms below.
| |
− | # NOTE: opening up the RPC port to hosts outside your local
| |
− | # trusted network is NOT RECOMMENDED, because the rpcpassword
| |
− | # is transmitted over the network unencrypted.
| |
− | #rpcallowip=10.1.1.34
| |
− | #rpcallowip=192.168.1.0/255.255.255.0
| |
− | #rpcallowip=172.16.0.0/24
| |
− |
| |
− | # 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
| |
− |
| |
− | # 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
| |
| | | |
| ==Platforms== | | ==Platforms== |