Sha256: cb717e78f211562fa882f401eceb63298f0c1adb25e25a6012eddd989e7af003

Contents?: true

Size: 1.15 KB

Versions: 16

Compression:

Stored size: 1.15 KB

Contents

#!/usr/bin/env ruby
require 'thor'
require 'bitcoin'
require 'daemon_spawn'

class BitcoinDaemon < DaemonSpawn::Base

  def start(args)
    puts "Bitcoinrb daemon start : #{Time.now}"
    conf = Bitcoin::Node::Configuration.new(network: args.first[:network])
    node = Bitcoin::Node::SPV.new(conf)
    node.run
  end

  def stop
    puts "Stopping Bitcoinrb daemon : #{Time.now}"
    node.shutdown
  end

end

class Bitcoinrbd < Thor

  class_option :network, aliases: '-n', default: :mainnet

  desc 'start', 'start bitcoinrb daemon.'
  def start
    network = options['network'] ? options['network'].to_sym : :mainnet
    Bitcoin.chain_params = network
    FileUtils.mkdir_p(Bitcoin.base_dir)
    execute_daemon(['start', network: network])
  end

  private

  def execute_daemon(cmd_args)
    BitcoinDaemon.spawn!({working_dir: Bitcoin.base_dir,
                                     log_file: "#{Bitcoin.base_dir}/log/bitcoinrbd.log",
                                     pid_file: "#{Bitcoin.base_dir}/bitcoinrbd.pid",
                                     sync_log: true,
                                     singleton: true}, cmd_args)
  end

end

Bitcoinrbd.start(ARGV)

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
bitcoinrb-1.8.0 exe/bitcoinrbd
bitcoinrb-1.7.0 exe/bitcoinrbd
bitcoinrb-1.6.0 exe/bitcoinrbd
bitcoinrb-1.5.0 exe/bitcoinrbd
bitcoinrb-1.4.0 exe/bitcoinrbd
bitcoinrb-1.3.0 exe/bitcoinrbd
bitcoinrb-1.2.1 exe/bitcoinrbd
bitcoinrb-1.2.0 exe/bitcoinrbd
bitcoinrb-1.1.1 exe/bitcoinrbd
bitcoinrb-1.1.0 exe/bitcoinrbd
bitcoinrb-1.0.0 exe/bitcoinrbd
bitcoinrb-0.9.0 exe/bitcoinrbd
bitcoinrb-0.8.0 exe/bitcoinrbd
bitcoinrb-0.7.0 exe/bitcoinrbd
bitcoinrb-0.6.0 exe/bitcoinrbd
bitcoinrb-0.5.0 exe/bitcoinrbd