Module: StartcoinClient::DSL
- Defined in:
- lib/startcoin_client/dsl.rb
Instance Method Summary collapse
-
#backupwallet(destination) ⇒ Object
Safely copies wallet.dat to destination, which can be a directory or a path with filename.
- #bitcoin ⇒ Object
-
#getaccount(bitcoinaddress) ⇒ Object
(also: #account)
Returns the account associated with the given address.
-
#getaccountaddress(account) ⇒ Object
(also: #account_address)
Returns the current bitcoin address for receiving payments to this account.
-
#getaddressesbyaccount(account) ⇒ Object
(also: #addresses_by_account)
Returns the list of addresses for the given account.
-
#getbalance(account = nil, minconf = 1) ⇒ Object
(also: #balance)
If
account
is not specified, returns the server’s total available balance. -
#getbestblockhash ⇒ Object
Returns the hash of the best (tip) block in the longest block chain.
-
#getblock(hash) ⇒ Object
Dumps the block existing with specified hash.
-
#getblockbycount(height) ⇒ Object
(also: #block_by_count)
Dumps the block existing at specified height.
-
#getblockcount ⇒ Object
(also: #block_count)
Returns the number of blocks in the longest block chain.
-
#getblockhash(index) ⇒ Object
(also: #block_hash)
Returns hash of block in best-block-chain at <index>; index 0 is the genesis block.
-
#getblocknumber ⇒ Object
(also: #block_number)
Returns the block number of the latest block in the longest block chain.
-
#getconnectioncount ⇒ Object
(also: #connection_count)
Returns the number of connections to other nodes.
-
#getdifficulty ⇒ Object
(also: #difficulty)
Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
-
#getgenerate ⇒ Object
(also: #generate?)
Returns true or false whether bitcoind is currently generating hashes.
-
#gethashespersec ⇒ Object
(also: #hashes_per_sec)
Returns a recent hashes per second performance measurement while generating.
-
#getinfo ⇒ Object
(also: #info)
Returns an object containing various state info.
-
#getmininginfo ⇒ Object
(also: #mininginfo)
Returns an object containing various mining info.
-
#getnewaddress(account = nil) ⇒ Object
(also: #new_address)
Returns a new bitcoin address for receiving payments.
-
#getpeerinfo ⇒ Object
(also: #peerinfo)
Returns data about each connected network node.
-
#getrawmempool ⇒ Object
(also: #raw_mempool)
Gets all mempool txs (pedning/waiting to be added in a block).
-
#getrawtransaction(txid, verbose = 0) ⇒ Object
(also: #rawtransaction)
Get raw transaction bout
txid
. -
#getreceivedbyaccount(account, minconf = 1) ⇒ Object
(also: #received_by_account)
Returns the total amount received by addresses with
account
in transactions with at leastminconf
confirmations. -
#getreceivedbyaddress(bitcoinaddress, minconf = 1) ⇒ Object
(also: #received_by_address)
Returns the total amount received by
bitcoinaddress
in transactions with at leastminconf
confirmations. -
#gettransaction(txid) ⇒ Object
(also: #transaction)
Get detailed information about
txid
. -
#getwork(data = nil) ⇒ Object
(also: #work, #get_work)
If
data
is not specified, returns formatted hash data to work on:. -
#help(command = nil) ⇒ Object
List commands, or get help for a command.
- #host(value = nil) ⇒ Object
- #host=(value) ⇒ Object
-
#listaccounts(minconf = 1) ⇒ Object
(also: #accounts)
Returns Object that has account names as keys, account balances as values.
-
#listreceivedbyaccount(minconf = 1, includeempty = false) ⇒ Object
(also: #list_received_by_account)
Returns an array of objects containing:.
-
#listreceivedbyaddress(minconf = 1, includeempty = false) ⇒ Object
(also: #list_received_by_address)
Returns an array of objects containing:.
-
#listtransactions(account = '', count = 10, from = 0) ⇒ Object
(also: #transactions, #list_transactions)
Returns up to
count
most recent transactions for accountaccount
. -
#move(fromaccount, toaccount, amount, minconf = 1, comment = nil) ⇒ Object
Move from one account in your wallet to another.
- #password(value = nil) ⇒ Object
- #password=(value) ⇒ Object
- #port(value = nil) ⇒ Object
- #port=(value) ⇒ Object
- #proxy(value = nil) ⇒ Object
- #proxy=(value) ⇒ Object
-
#searchrawtransactions(bitcoinaddress, verbose = 1) ⇒ Object
(also: #search_raw_transactions)
Return count transactions with <address> present in their scriptSig, skipping skip at the beginning.
-
#sendfrom(fromaccount, tobitcoinaddress, amount, minconf = 1, comment = nil, comment_to = nil) ⇒ Object
(also: #send_from)
amount
is a real and is rounded to 8 decimal places. -
#sendtoaddress(bitcoinaddress, amount, comment = nil, comment_to = nil) ⇒ Object
(also: #send_to_address)
amount
is a real and is rounded to 8 decimal places. -
#setaccount(bitcoinaddress, account) ⇒ Object
(also: #account=, #set_account)
Sets the account associated with the given address.
-
#setgenerate(generate, genproclimit = -1)) ⇒ Object
(also: #generate=, #set_generate)
generate
is true or false to turn generation on or off. - #ssl(value = nil) ⇒ Object
- #ssl=(value) ⇒ Object
- #ssl? ⇒ Boolean
-
#stop ⇒ Object
Stop bitcoin server.
- #username(value = nil) ⇒ Object
- #username=(value) ⇒ Object
-
#validateaddress(bitcoinaddress) ⇒ Object
(also: #validate_address)
Return information about
bitcoinaddress
.
Instance Method Details
#backupwallet(destination) ⇒ Object
Safely copies wallet.dat to destination, which can be a directory or a path with filename.
64 65 66 |
# File 'lib/startcoin_client/dsl.rb', line 64 def backupwallet(destination) bitcoin.backupwallet destination end |
#bitcoin ⇒ Object
2 3 4 5 6 7 8 |
# File 'lib/startcoin_client/dsl.rb', line 2 def bitcoin if self.class.respond_to?(:bitcoin) @client ||= StartcoinClient::Client.new(self.class.bitcoin.user, self.class.bitcoin.pass, self.class.bitcoin.) else @client ||= StartcoinClient::Client.new(nil, nil) end end |
#getaccount(bitcoinaddress) ⇒ Object Also known as: account
Returns the account associated with the given address.
69 70 71 |
# File 'lib/startcoin_client/dsl.rb', line 69 def getaccount(bitcoinaddress) bitcoin.getaccount bitcoinaddress end |
#getaccountaddress(account) ⇒ Object Also known as: account_address
Returns the current bitcoin address for receiving payments to this account.
74 75 76 |
# File 'lib/startcoin_client/dsl.rb', line 74 def getaccountaddress(account) bitcoin.getaccountaddress account end |
#getaddressesbyaccount(account) ⇒ Object Also known as: addresses_by_account
Returns the list of addresses for the given account.
79 80 81 |
# File 'lib/startcoin_client/dsl.rb', line 79 def getaddressesbyaccount(account) bitcoin.getaddressesbyaccount account end |
#getbalance(account = nil, minconf = 1) ⇒ Object Also known as: balance
If account
is not specified, returns the server’s total available balance. If account
is specified, returns the balance in the account.
85 86 87 |
# File 'lib/startcoin_client/dsl.rb', line 85 def getbalance(account = nil, minconf = 1) bitcoin.getbalance account, minconf end |
#getbestblockhash ⇒ Object
Returns the hash of the best (tip) block in the longest block chain.
90 91 92 |
# File 'lib/startcoin_client/dsl.rb', line 90 def getbestblockhash bitcoin.getbestblockhash end |
#getblock(hash) ⇒ Object
Dumps the block existing with specified hash.
101 102 103 |
# File 'lib/startcoin_client/dsl.rb', line 101 def getblock(hash) bitcoin.getblock hash end |
#getblockbycount(height) ⇒ Object Also known as: block_by_count
Dumps the block existing at specified height. Note: this is not available in the official release
96 97 98 |
# File 'lib/startcoin_client/dsl.rb', line 96 def getblockbycount(height) bitcoin.getblockbycount height end |
#getblockcount ⇒ Object Also known as: block_count
Returns the number of blocks in the longest block chain.
106 107 108 |
# File 'lib/startcoin_client/dsl.rb', line 106 def getblockcount bitcoin.getblockcount end |
#getblockhash(index) ⇒ Object Also known as: block_hash
Returns hash of block in best-block-chain at <index>; index 0 is the genesis block
116 117 118 |
# File 'lib/startcoin_client/dsl.rb', line 116 def getblockhash(index) bitcoin.getblockhash index end |
#getblocknumber ⇒ Object Also known as: block_number
Returns the block number of the latest block in the longest block chain.
111 112 113 |
# File 'lib/startcoin_client/dsl.rb', line 111 def getblocknumber bitcoin.getblocknumber end |
#getconnectioncount ⇒ Object Also known as: connection_count
Returns the number of connections to other nodes.
121 122 123 |
# File 'lib/startcoin_client/dsl.rb', line 121 def getconnectioncount bitcoin.getconnectioncount end |
#getdifficulty ⇒ Object Also known as: difficulty
Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
126 127 128 |
# File 'lib/startcoin_client/dsl.rb', line 126 def getdifficulty bitcoin.getdifficulty end |
#getgenerate ⇒ Object Also known as: generate?
Returns true or false whether bitcoind is currently generating hashes
131 132 133 |
# File 'lib/startcoin_client/dsl.rb', line 131 def getgenerate bitcoin.getgenerate end |
#gethashespersec ⇒ Object Also known as: hashes_per_sec
Returns a recent hashes per second performance measurement while generating.
136 137 138 |
# File 'lib/startcoin_client/dsl.rb', line 136 def gethashespersec bitcoin.gethashespersec end |
#getinfo ⇒ Object Also known as: info
Returns an object containing various state info.
141 142 143 |
# File 'lib/startcoin_client/dsl.rb', line 141 def getinfo bitcoin.getinfo end |
#getmininginfo ⇒ Object Also known as: mininginfo
Returns an object containing various mining info.
151 152 153 |
# File 'lib/startcoin_client/dsl.rb', line 151 def getmininginfo bitcoin.getmininginfo end |
#getnewaddress(account = nil) ⇒ Object Also known as: new_address
Returns a new bitcoin address for receiving payments. If account
is specified (recommended), it is added to the address book so payments received with the address will be credited to account
.
157 158 159 |
# File 'lib/startcoin_client/dsl.rb', line 157 def getnewaddress(account = nil) bitcoin.getnewaddress account end |
#getpeerinfo ⇒ Object Also known as: peerinfo
Returns data about each connected network node.
146 147 148 |
# File 'lib/startcoin_client/dsl.rb', line 146 def getpeerinfo bitcoin.getpeerinfo end |
#getrawmempool ⇒ Object Also known as: raw_mempool
Gets all mempool txs (pedning/waiting to be added in a block)
185 186 187 |
# File 'lib/startcoin_client/dsl.rb', line 185 def getrawmempool bitcoin.getrawmempool end |
#getrawtransaction(txid, verbose = 0) ⇒ Object Also known as: rawtransaction
Get raw transaction bout txid
. It outputs the whole transaction chain by default in HEX. If you want JSON, set verbose to 1. When in the bitcoind config is set txindex=1, after reindexing, you can ask about any transaction (not included in your wallet), with this command.
180 181 182 |
# File 'lib/startcoin_client/dsl.rb', line 180 def getrawtransaction(txid, verbose = 0) bitcoin.getrawtransaction txid verbose end |
#getreceivedbyaccount(account, minconf = 1) ⇒ Object Also known as: received_by_account
Returns the total amount received by addresses with account
in transactions with at least minconf
confirmations.
163 164 165 |
# File 'lib/startcoin_client/dsl.rb', line 163 def getreceivedbyaccount(account, minconf = 1) bitcoin.getreceivedbyaccount account, minconf end |
#getreceivedbyaddress(bitcoinaddress, minconf = 1) ⇒ Object Also known as: received_by_address
Returns the total amount received by bitcoinaddress
in transactions with at least minconf
confirmations.
168 169 170 |
# File 'lib/startcoin_client/dsl.rb', line 168 def getreceivedbyaddress(bitcoinaddress, minconf = 1) bitcoin.getreceivedbyaddress bitcoinaddress, minconf end |
#gettransaction(txid) ⇒ Object Also known as: transaction
Get detailed information about txid
173 174 175 |
# File 'lib/startcoin_client/dsl.rb', line 173 def gettransaction(txid) bitcoin.gettransaction txid end |
#getwork(data = nil) ⇒ Object Also known as: work, get_work
If data
is not specified, returns formatted hash data to work on:
:midstate => precomputed hash state after hashing the first half of the data
:data => block data
:hash1 => formatted hash buffer for second hash
:target => little endian hash target
If data
is specified, tries to solve the block and returns true if it was successful.
197 198 199 |
# File 'lib/startcoin_client/dsl.rb', line 197 def getwork(data = nil) bitcoin.getwork data end |
#help(command = nil) ⇒ Object
List commands, or get help for a command.
202 203 204 |
# File 'lib/startcoin_client/dsl.rb', line 202 def help(command = nil) bitcoin.help command end |
#host(value = nil) ⇒ Object
42 43 44 |
# File 'lib/startcoin_client/dsl.rb', line 42 def host(value = nil) value ? bitcoin.host = value : bitcoin.host end |
#host=(value) ⇒ Object
18 19 20 |
# File 'lib/startcoin_client/dsl.rb', line 18 def host=(value) bitcoin.host = value end |
#listaccounts(minconf = 1) ⇒ Object Also known as: accounts
Returns Object that has account names as keys, account balances as values.
207 208 209 |
# File 'lib/startcoin_client/dsl.rb', line 207 def listaccounts(minconf = 1) bitcoin.listaccounts minconf end |
#listreceivedbyaccount(minconf = 1, includeempty = false) ⇒ Object Also known as: list_received_by_account
Returns an array of objects containing:
:account => the account of the receiving addresses
:amount => total amount received by addresses with this account
:confirmations => number of confirmations of the most recent transaction included
217 218 219 |
# File 'lib/startcoin_client/dsl.rb', line 217 def listreceivedbyaccount(minconf = 1, includeempty = false) bitcoin.listreceivedbyaccount minconf, includeempty end |
#listreceivedbyaddress(minconf = 1, includeempty = false) ⇒ Object Also known as: list_received_by_address
Returns an array of objects containing:
:address => receiving address
:account => the account of the receiving address
:amount => total amount received by the address
:confirmations => number of confirmations of the most recent transaction included
To get a list of accounts on the system, execute bitcoind listreceivedbyaddress 0 true
229 230 231 |
# File 'lib/startcoin_client/dsl.rb', line 229 def listreceivedbyaddress(minconf = 1, includeempty = false) bitcoin.listreceivedbyaddress minconf, includeempty end |
#listtransactions(account = '', count = 10, from = 0) ⇒ Object Also known as: transactions, list_transactions
Returns up to count
most recent transactions for account account
.
234 235 236 |
# File 'lib/startcoin_client/dsl.rb', line 234 def listtransactions(account = '', count = 10, from = 0) bitcoin.listtransactions account, count, from end |
#move(fromaccount, toaccount, amount, minconf = 1, comment = nil) ⇒ Object
Move from one account in your wallet to another.
239 240 241 |
# File 'lib/startcoin_client/dsl.rb', line 239 def move(fromaccount, toaccount, amount, minconf = 1, comment = nil) bitcoin.move fromaccount, toaccount, amount, minconf, comment end |
#password(value = nil) ⇒ Object
38 39 40 |
# File 'lib/startcoin_client/dsl.rb', line 38 def password(value = nil) value ? bitcoin.pass = value : bitcoin.pass end |
#password=(value) ⇒ Object
14 15 16 |
# File 'lib/startcoin_client/dsl.rb', line 14 def password=(value) bitcoin.pass = value end |
#port(value = nil) ⇒ Object
46 47 48 |
# File 'lib/startcoin_client/dsl.rb', line 46 def port(value = nil) value ? bitcoin.port = value : bitcoin.port end |
#port=(value) ⇒ Object
22 23 24 |
# File 'lib/startcoin_client/dsl.rb', line 22 def port=(value) bitcoin.port = value end |
#proxy(value = nil) ⇒ Object
54 55 56 |
# File 'lib/startcoin_client/dsl.rb', line 54 def proxy(value = nil) value.nil? ? bitcoin.proxy : bitcoin.proxy = value end |
#proxy=(value) ⇒ Object
30 31 32 |
# File 'lib/startcoin_client/dsl.rb', line 30 def proxy=(value) bitcoin.proxy = value end |
#searchrawtransactions(bitcoinaddress, verbose = 1) ⇒ Object Also known as: search_raw_transactions
Return count transactions with <address> present in their scriptSig, skipping skip at the beginning. The ordering is oldest transaction first; if skip is negative the order returned is newest transaction first and skip+1 transactions are skipped. If verbose=0 only txids are returned rather than the full transactions.
244 245 246 |
# File 'lib/startcoin_client/dsl.rb', line 244 def searchrawtransactions(bitcoinaddress, verbose=1) bitcoin.searchrawtransactions bitcoinaddress, verbose end |
#sendfrom(fromaccount, tobitcoinaddress, amount, minconf = 1, comment = nil, comment_to = nil) ⇒ Object Also known as: send_from
amount
is a real and is rounded to 8 decimal places. Returns the transaction ID if successful.
249 250 251 |
# File 'lib/startcoin_client/dsl.rb', line 249 def sendfrom(fromaccount, tobitcoinaddress, amount, minconf = 1, comment = nil, comment_to = nil) bitcoin.sendfrom fromaccount, tobitcoinaddress, amount, minconf, comment, comment_to end |
#sendtoaddress(bitcoinaddress, amount, comment = nil, comment_to = nil) ⇒ Object Also known as: send_to_address
amount
is a real and is rounded to 8 decimal places
254 255 256 |
# File 'lib/startcoin_client/dsl.rb', line 254 def sendtoaddress(bitcoinaddress, amount, comment = nil, comment_to = nil) bitcoin.sendtoaddress bitcoinaddress, amount, comment, comment_to end |
#setaccount(bitcoinaddress, account) ⇒ Object Also known as: account=, set_account
Sets the account associated with the given address.
259 260 261 |
# File 'lib/startcoin_client/dsl.rb', line 259 def setaccount(bitcoinaddress, account) bitcoin.setaccount bitcoinaddress, account end |
#setgenerate(generate, genproclimit = -1)) ⇒ Object Also known as: generate=, set_generate
generate
is true or false to turn generation on or off. Generation is limited to genproclimit
processors, -1 is unlimited.
265 266 267 |
# File 'lib/startcoin_client/dsl.rb', line 265 def setgenerate(generate, genproclimit = -1) bitcoin.setgenerate generate, genproclimit end |
#ssl(value = nil) ⇒ Object
50 51 52 |
# File 'lib/startcoin_client/dsl.rb', line 50 def ssl(value = nil) value.nil? ? bitcoin.ssl : bitcoin.ssl = value end |
#ssl=(value) ⇒ Object
26 27 28 |
# File 'lib/startcoin_client/dsl.rb', line 26 def ssl=(value) bitcoin.ssl = value end |
#ssl? ⇒ Boolean
58 59 60 |
# File 'lib/startcoin_client/dsl.rb', line 58 def ssl? bitcoin.ssl? end |
#stop ⇒ Object
Stop bitcoin server.
270 271 272 |
# File 'lib/startcoin_client/dsl.rb', line 270 def stop bitcoin.stop end |
#username(value = nil) ⇒ Object
34 35 36 |
# File 'lib/startcoin_client/dsl.rb', line 34 def username(value = nil) value ? bitcoin.user = value : bitcoin.user end |
#username=(value) ⇒ Object
10 11 12 |
# File 'lib/startcoin_client/dsl.rb', line 10 def username=(value) bitcoin.user = value end |
#validateaddress(bitcoinaddress) ⇒ Object Also known as: validate_address
Return information about bitcoinaddress
.
275 276 277 |
# File 'lib/startcoin_client/dsl.rb', line 275 def validateaddress(bitcoinaddress) bitcoin.validateaddress end |