module Cryptobank

Constants

Error
HEADERS
VERSION

Attributes

host[W]
password[W]
port[W]
user[W]

Public Instance Methods

account(bitcoin_address) click to toggle source

getaccount A P2PKH or P2SH Bitcoin address belonging either to a specific account or the default account (“”) returns a base58 string

# File lib/cryptobank.rb, line 77
def account(bitcoin_address)
  payload = {
    method: 'getaccount'
  }
  payload[:params] = [bitcoin_address.to_string]
  request(payload)
end
account=(_) click to toggle source

setaccount

# File lib/cryptobank.rb, line 363
def account=(_)
  raise NotImplementedError
end
account_address() click to toggle source

getaccountaddress

# File lib/cryptobank.rb, line 86
def account_address
  raise NotImplementedError
end
add_multisig_address() click to toggle source

addmultisigaddress

# File lib/cryptobank.rb, line 35
def add_multisig_address
  raise NotImplementedError
end
add_node() click to toggle source

addnode

# File lib/cryptobank.rb, line 40
def add_node
  raise NotImplementedError
end
added_node_info() click to toggle source

getaddednodeinfo

# File lib/cryptobank.rb, line 91
def added_node_info
  raise NotImplementedError
end
addresses_by_account() click to toggle source

getaddressesbyaccount

# File lib/cryptobank.rb, line 96
def addresses_by_account
  raise NotImplementedError
end
backup_wallet() click to toggle source

backupwallet

# File lib/cryptobank.rb, line 45
def backup_wallet
  raise NotImplementedError
end
balance(account = nil) click to toggle source

getbalance There are additional parameters on the RPC docs to be implemented bitcoin.org/en/developer-reference#getbalance

# File lib/cryptobank.rb, line 102
def balance(account = nil)
  payload = {
    method: 'getbalance'
  }
  payload[:params] = [account] unless account.nil?
  request(payload)
end
best_block_hash() click to toggle source

getbestblockhash

# File lib/cryptobank.rb, line 111
def best_block_hash
  raise NotImplementedError
end
block() click to toggle source

getblock

# File lib/cryptobank.rb, line 116
def block
  raise NotImplementedError
end
block_count() click to toggle source

getblockcount

# File lib/cryptobank.rb, line 121
def block_count
  raise NotImplementedError
end
block_hash() click to toggle source

getblockhash

# File lib/cryptobank.rb, line 126
def block_hash
  raise NotImplementedError
end
block_number() click to toggle source

getblocknumber

# File lib/cryptobank.rb, line 131
def block_number
  raise NotImplementedError
end
block_template() click to toggle source

getblocktemplate

# File lib/cryptobank.rb, line 136
def block_template
  raise NotImplementedError
end
configure() { |self| ... } click to toggle source
# File lib/cryptobank.rb, line 30
def configure
  yield self
end
connection_count() click to toggle source

getconnectioncount

# File lib/cryptobank.rb, line 141
def connection_count
  raise NotImplementedError
end
create_multisig() click to toggle source

createmultisig

# File lib/cryptobank.rb, line 50
def create_multisig
  raise NotImplementedError
end
create_raw_transaction() click to toggle source

createrawtransaction

# File lib/cryptobank.rb, line 55
def create_raw_transaction
  raise NotImplementedError
end
decode_raw_transaction() click to toggle source

decoderawtransaction

# File lib/cryptobank.rb, line 60
def decode_raw_transaction
  raise NotImplementedError
end
difficulty() click to toggle source

getdifficulty

# File lib/cryptobank.rb, line 146
def difficulty
  raise NotImplementedError
end
dump_priv_key() click to toggle source

dumpprivkey

# File lib/cryptobank.rb, line 65
def dump_priv_key
  raise NotImplementedError
end
encrypt_wallet() click to toggle source

encryptwallet

# File lib/cryptobank.rb, line 70
def encrypt_wallet
  raise NotImplementedError
end
generate() click to toggle source

getgenerate

# File lib/cryptobank.rb, line 151
def generate
  raise NotImplementedError
end
generate=(_) click to toggle source

setgenerate

# File lib/cryptobank.rb, line 368
def generate=(_)
  raise NotImplementedError
end
hashes_per_sec() click to toggle source

gethashespersec

# File lib/cryptobank.rb, line 156
def hashes_per_sec
  raise NotImplementedError
end
help() click to toggle source

help

# File lib/cryptobank.rb, line 246
def help
  raise NotImplementedError
end
host() click to toggle source
# File lib/cryptobank.rb, line 14
def host
  @host || 'localhost'
end
import_priv_key() click to toggle source

importprivkey

# File lib/cryptobank.rb, line 251
def import_priv_key
  raise NotImplementedError
end
info() click to toggle source

getinfo

# File lib/cryptobank.rb, line 161
def info
  payload = {
    method: 'getwalletinfo'
  }

  request(payload)
end
keypool_refill() click to toggle source

keypoolrefill

# File lib/cryptobank.rb, line 256
def keypool_refill
  raise NotImplementedError
end
list_accounts(minconf = nil) click to toggle source

listaccounts

# File lib/cryptobank.rb, line 261
def list_accounts(minconf = nil)
  payload = {
    method: 'listaccounts'
  }

  payload[:params] = [minconf] unless minconf.nil?

  request(payload)
end
list_address_groupings() click to toggle source

listaddressgroupings

# File lib/cryptobank.rb, line 272
def list_address_groupings
  raise NotImplementedError
end
list_lock_unspent() click to toggle source

listlockunspent

# File lib/cryptobank.rb, line 312
def list_lock_unspent
  raise NotImplementedError
end
list_received_by_account() click to toggle source

listreceivedbyaccount

# File lib/cryptobank.rb, line 277
def list_received_by_account
  raise NotImplementedError
end
list_received_by_address() click to toggle source

listreceivedbyaddress

# File lib/cryptobank.rb, line 282
def list_received_by_address
  raise NotImplementedError
end
list_since_block() click to toggle source

listsinceblock

# File lib/cryptobank.rb, line 287
def list_since_block
  raise NotImplementedError
end
list_transactions(account = nil, count = nil, from = nil) click to toggle source

listtransactions

# File lib/cryptobank.rb, line 292
def list_transactions(account = nil, count = nil, from = nil)
  payload = {
    method: 'listtransactions'
  }

  unless account.nil?
    payload[:params] = [account]
    payload[:params] << count unless count.nil?
    payload[:params] << from unless from.nil?
  end

  request(payload)
end
list_unspent() click to toggle source

listunspent

# File lib/cryptobank.rb, line 307
def list_unspent
  raise NotImplementedError
end
lock_unspent() click to toggle source

lockunspent

# File lib/cryptobank.rb, line 317
def lock_unspent
  raise NotImplementedError
end
memory_pool() click to toggle source

getmemorypool

# File lib/cryptobank.rb, line 170
def memory_pool
  raise NotImplementedError
end
mining_info() click to toggle source

getmininginfo

# File lib/cryptobank.rb, line 175
def mining_info
  raise NotImplementedError
end
move(from_account, to_account, amount) click to toggle source

move

# File lib/cryptobank.rb, line 322
def move(from_account, to_account, amount)
  payload = {
    method: 'move'
  }

  payload[:params] = [from_account]
  payload[:params] << to_account
  payload[:params] << amount

  request(payload)
end
new_address(account = nil) click to toggle source

getnewaddress

# File lib/cryptobank.rb, line 180
def new_address(account = nil)
  payload = {
    method: 'getnewaddress'
  }

  payload[:params] = [account] unless account.nil?

  request(payload)
end
password() click to toggle source
# File lib/cryptobank.rb, line 26
def password
  @password || 'rpcpassword'
end
peer_info() click to toggle source

getpeerinfo

# File lib/cryptobank.rb, line 191
def peer_info
  raise NotImplementedError
end
port() click to toggle source
# File lib/cryptobank.rb, line 18
def port
  @port || 8332
end
raw_change_address() click to toggle source

getrawchangeaddress

# File lib/cryptobank.rb, line 196
def raw_change_address
  raise NotImplementedError
end
raw_mem_pool() click to toggle source

getrawmempool

# File lib/cryptobank.rb, line 201
def raw_mem_pool
  raise NotImplementedError
end
raw_transaction() click to toggle source

getrawtransaction

# File lib/cryptobank.rb, line 206
def raw_transaction
  raise NotImplementedError
end
received_by_account() click to toggle source

getreceivedbyaccount

# File lib/cryptobank.rb, line 211
def received_by_account
  raise NotImplementedError
end
received_by_address() click to toggle source

getreceivedbyaddress

# File lib/cryptobank.rb, line 216
def received_by_address
  raise NotImplementedError
end
send_from() click to toggle source

sendfrom

# File lib/cryptobank.rb, line 335
def send_from
  raise NotImplementedError
end
send_many() click to toggle source

sendmany

# File lib/cryptobank.rb, line 340
def send_many
  raise NotImplementedError
end
send_raw_transaction() click to toggle source

sendrawtransaction

# File lib/cryptobank.rb, line 345
def send_raw_transaction
  raise NotImplementedError
end
send_to_address(address, amount, comment = nil, comment_to = nil) click to toggle source

sendtoaddress

# File lib/cryptobank.rb, line 350
def send_to_address(address, amount, comment = nil, comment_to = nil)
  payload = {
    method: 'sendtoaddress',
    params: [address, amount]
  }

  payload[:params] << comment unless comment.nil?
  payload[:params] << comment_to unless comment_to.nil?

  request(payload)
end
sign_message() click to toggle source

signmessage

# File lib/cryptobank.rb, line 378
def sign_message
  raise NotImplementedError
end
sign_raw_transaction() click to toggle source

signrawtransaction

# File lib/cryptobank.rb, line 383
def sign_raw_transaction
  raise NotImplementedError
end
stop() click to toggle source

stop

# File lib/cryptobank.rb, line 388
def stop
  raise NotImplementedError
end
submit_block() click to toggle source

submitblock

# File lib/cryptobank.rb, line 393
def submit_block
  raise NotImplementedError
end
transaction(txid) click to toggle source

gettransaction

# File lib/cryptobank.rb, line 221
def transaction(txid)
  payload = {
    method: 'gettransaction',
    params: [txid]
  }

  request(payload)
end
tx_fee=(_) click to toggle source

settxfee

# File lib/cryptobank.rb, line 373
def tx_fee=(_)
  raise NotImplementedError
end
tx_out() click to toggle source

gettxout

# File lib/cryptobank.rb, line 231
def tx_out
  raise NotImplementedError
end
tx_out_set_info() click to toggle source

gettxoutsetinfo

# File lib/cryptobank.rb, line 236
def tx_out_set_info
  raise NotImplementedError
end
user() click to toggle source
# File lib/cryptobank.rb, line 22
def user
  @user || 'rpcuser'
end
valid_address?(address) click to toggle source
# File lib/cryptobank.rb, line 427
def valid_address?(address)
  validate_address(address)['isvalid']
end
validate_address(address) click to toggle source

validateaddress

# File lib/cryptobank.rb, line 398
def validate_address(address)
  payload = {
    method: 'validateaddress',
    params: [address]
  }

  request(payload)
end
verify_message() click to toggle source

verifymessage

# File lib/cryptobank.rb, line 408
def verify_message
  raise NotImplementedError
end
wallet_lock() click to toggle source

walletlock

# File lib/cryptobank.rb, line 413
def wallet_lock
  raise NotImplementedError
end
wallet_passphrase() click to toggle source

walletpassphrase

# File lib/cryptobank.rb, line 418
def wallet_passphrase
  raise NotImplementedError
end
wallet_passphrase_change() click to toggle source

walletpassphrasechange

# File lib/cryptobank.rb, line 423
def wallet_passphrase_change
  raise NotImplementedError
end
work() click to toggle source

getwork

# File lib/cryptobank.rb, line 241
def work
  raise NotImplementedError
end

Private Instance Methods

request(payload) click to toggle source
# File lib/cryptobank.rb, line 433
def request(payload)
  response = HTTParty.post(url, body: payload.to_json, headers: HEADERS)

  raise Error, response.message unless response.code == 200

  JSON.parse(response.body)['result']
end
url() click to toggle source
# File lib/cryptobank.rb, line 441
def url
  "http://#{user}:#{password}@#{host}:#{port}"
end