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

Returns a new instance of Configuration.



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

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)

Returns the value of attribute conf.



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

def conf
  @conf
end

Instance Method Details

#hostObject



24
25
26
# File 'lib/bitcoin/node/configuration.rb', line 24

def host
  'localhost'
end

#portObject



28
29
30
# File 'lib/bitcoin/node/configuration.rb', line 28

def port
  Bitcoin.chain_params.default_port - 1
end

#server_urlObject



32
33
34
# File 'lib/bitcoin/node/configuration.rb', line 32

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