CONFIG.rdoc 2.4 KB

Config

All commands accept configuration, either via config file, or at the command line.

Locations

There are 3 default locations where configfiles are loaded from:

  • /etc/bitcoin-ruby.yml

  • ~/.bitcoin-ruby.yml

  • ./bitcoin-ruby.yml

Files are loaded in order (if they exist) and override each others settings.

To specify a different config file use the --config option.

Files

Inside a config file, you can put options for the different commands, separated into categories.

all:
  network: bitcoin
  storage: sequel::postgres:/bitcoin
  command: 127.0.0.1:1234
blockchain:
  max:
    connect: 30
wallet:
  keystore: "simple::file=keys.json"

Options in the all category are loaded by every command, and are loaded first (so command-specific options will override them).

Other categories are loaded by the corresponding command and may override options from the all category (ie. bitcoin_wallet loads all and wallet).

Default Values

all:
  network: bitcoin                       # network identifier ("bitcoin", "testnet3", "namecoin")
  command: "127.0.0.1:9999"              # IP:Port to listen for incomming command connections
  listen: "0.0.0.0:8332"                 # IP:Port to listen for incoming peer connections
  connect: ""                            # List of IP:Port,IP:Port of nodes to connect to
  storage: "sequel::sqlite://~/.bitcoin-ruby/<network>/blocks.db" # storage backend to use (see STORAGE)
node:
  headers_only: false                    # download/store only block headers (experimental)
  dns: true                              # query peers from dns server
  epoll: false
  epoll_limit: 10000
  epoll_user: nil
  log:                                   # log levels (debug, info, warn, error, fatal)
    network: info
    storage: info
  max:
    connections: 32                      # number of peer connections
    addr: 1024                           # peer-address store size
    queue: 500                           # storage-queue size
    inv: 500                             # inventory-queue size
  intervals:
    queue: 5                             # work storage queue
    inv_queue: 5                         # work inventory queue
    addrs: 15                            # collect new peer addrs
    connect: 30                          # connect to new peers
wallet:
  keystore: "simple::file=~/.bitcoin-ruby/<network>/keys.json" # keystore to use