Sha256: 3dae43861ef166e90f642eab2e0faadf58c8e0babf6043507cbadf6964b80710

Contents?: true

Size: 885 Bytes

Versions: 15

Compression:

Stored size: 885 Bytes

Contents

require 'iniparse'

module Bitcoin
  module Node
    class Configuration

      attr_reader :conf # Hash

      # initialize configuration
      # @param [Hash] opts parameter for node.
      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

      def host
        'localhost'
      end

      def port
        Bitcoin.chain_params.default_port - 1
      end

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

    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
bitcoinrb-1.8.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.7.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.6.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.5.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.4.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.3.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.2.1 lib/bitcoin/node/configuration.rb
bitcoinrb-1.2.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.1.1 lib/bitcoin/node/configuration.rb
bitcoinrb-1.1.0 lib/bitcoin/node/configuration.rb
bitcoinrb-1.0.0 lib/bitcoin/node/configuration.rb
bitcoinrb-0.9.0 lib/bitcoin/node/configuration.rb
bitcoinrb-0.8.0 lib/bitcoin/node/configuration.rb
bitcoinrb-0.7.0 lib/bitcoin/node/configuration.rb
bitcoinrb-0.6.0 lib/bitcoin/node/configuration.rb