Class: Bitcoin::Node::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/bitcoin/node/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Configuration

initialize configuration

Parameters:

  • opts (Hash) (defaults to: {})

    parameter for node.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/bitcoin/node/configuration.rb', line 11

def initialize(opts = {})
  # TODO apply configuration file.
  opts[:network] = :mainnet unless opts[:network]
  opts[:relay] = false unless opts[:relay]
  Bitcoin.chain_params = opts[:network]

  begin
    ini_file = IniParse.parse(File.read("#{Bitcoin.base_dir}/bitcoinrb.conf"))
    @conf = Hash[ ini_file.to_h['__anonymous__'].map{|k,v| [k.to_sym, v] } ]
  rescue => e
    @conf = {}
  end
  @conf.merge!(opts)
end

Instance Attribute Details

#confObject (readonly)

Hash



7
8
9
# File 'lib/bitcoin/node/configuration.rb', line 7

def conf
  @conf
end

Instance Method Details

#hostObject



26
27
28
# File 'lib/bitcoin/node/configuration.rb', line 26

def host
  'localhost'
end

#portObject



30
31
32
# File 'lib/bitcoin/node/configuration.rb', line 30

def port
  Bitcoin.chain_params.default_port - 1
end

#server_urlObject



34
35
36
# File 'lib/bitcoin/node/configuration.rb', line 34

def server_url
  "http://#{host}:#{port}"
end