rallet 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.travis.yml +6 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +71 -0
- data/Rakefile +20 -0
- data/lib/rallet/client.rb +32 -0
- data/lib/rallet/version.rb +3 -0
- data/lib/rallet/wallets/common.rb +332 -0
- data/lib/rallet/wallets.rb +5 -0
- data/lib/rallet.rb +6 -0
- data/rallet.gemspec +24 -0
- data/test/test_helper.rb +2 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c83939720cfd00298725ba8fb26ec2552fb419a2
|
4
|
+
data.tar.gz: 511cfbf9475fa8fb4833528e4525bf2cfbeaa00e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 59c62840231bbc502019bb47d5894706f108179235b86ae3818d058c6a863e0a502c81cbd325523530cd37c050c87c445cf917b0f5803d0049c0d5a7d38e939d
|
7
|
+
data.tar.gz: 0e6eacb9dec621bb39aa0c13399e7f121637b446e439168cd32ee127895afce61d6b07c11b00dfca593d7ace98c1d32c867ca1d619f612cbc8f502c5ba6eda32
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Mustafa TURAN
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
# Rallet
|
2
|
+
|
3
|
+
[](https://travis-ci.org/mustafaturan/rallet) [](https://codeclimate.com/github/mustafaturan/rallet)
|
4
|
+
|
5
|
+
A generalized JSONRPC client for crypto currencies.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
gem 'rallet'
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install rallet
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
Rallet allows you to access all json rpc commands of your -virtual currency wallet- however, it is better to use allowed methods by adding it to specific usage.
|
24
|
+
|
25
|
+
### JSONRPC Basic Usage (for all currencies)
|
26
|
+
client = Rallet::Client.new('http://user:pass@localhost:2082')
|
27
|
+
# get info command
|
28
|
+
client.request 'getinfo'
|
29
|
+
|
30
|
+
### Currency Specific Usage (recommended, but for specific currencies)
|
31
|
+
All wallets which accepts same api calls of Bitcoin.
|
32
|
+
|
33
|
+
btc = Rallet::Wallets::Common.new('http://user:pass@localhost:2082')
|
34
|
+
|
35
|
+
# get info command
|
36
|
+
btc.getinfo
|
37
|
+
|
38
|
+
All getters can be used without get prefix(ruby style)
|
39
|
+
All setters can be used with '=' & without set prefix(ruby style)
|
40
|
+
|
41
|
+
btc.info
|
42
|
+
|
43
|
+
|
44
|
+
### Adding Support For Currency Specific Usage
|
45
|
+
Rallet allows you to add your favorite currency commands to its usage.
|
46
|
+
Create a file:
|
47
|
+
|
48
|
+
your_fav_currency.rb
|
49
|
+
|
50
|
+
Paste the code block for your fav currency:
|
51
|
+
|
52
|
+
module Rallet
|
53
|
+
module Wallets
|
54
|
+
class YOUR_CURRENCY_CODE < ::Rallet::Wallets::Common
|
55
|
+
# add any other methods which not listed at ::Rallet::Wallets::Common class
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
## Contributing
|
61
|
+
|
62
|
+
1. Fork it
|
63
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
64
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
65
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
66
|
+
5. Create new Pull Request
|
67
|
+
|
68
|
+
|
69
|
+
## Copyright
|
70
|
+
Copyright © 2015 Mustafa Turan. See LICENSE for details.
|
71
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rake'
|
3
|
+
require 'rake/testtask'
|
4
|
+
|
5
|
+
desc "Default Task"
|
6
|
+
task :default => [ :test ]
|
7
|
+
|
8
|
+
# Run the unit tests
|
9
|
+
desc "Run all unit tests"
|
10
|
+
Rake::TestTask.new do |t|
|
11
|
+
t.libs << 'lib'
|
12
|
+
t.test_files = FileList['test/unit/*_test.rb']
|
13
|
+
t.verbose = true
|
14
|
+
end
|
15
|
+
|
16
|
+
# Make a console for testing purposes
|
17
|
+
desc "Generate a test console"
|
18
|
+
task :console do
|
19
|
+
verbose( false ) { sh "irb -I lib/ -r 'rallet'" }
|
20
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'rest_client'
|
2
|
+
|
3
|
+
module Rallet
|
4
|
+
class Client
|
5
|
+
attr_reader :uri
|
6
|
+
|
7
|
+
def initialize(service_url)
|
8
|
+
@uri = service_url
|
9
|
+
end
|
10
|
+
|
11
|
+
# Call any method with any args from RPC service
|
12
|
+
def request(name, *args)
|
13
|
+
if args && index = args.index(nil)
|
14
|
+
args = args[0...index]
|
15
|
+
end
|
16
|
+
request_body = { 'method' => name, 'params' => args, 'id' => 'jsonrpc' }.to_json
|
17
|
+
response = JSON.parse(make_request(request_body))
|
18
|
+
raise JSONRPCError, response['error'] if response['error']
|
19
|
+
response['result']
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
# Make RPC call
|
24
|
+
def make_request(request_body)
|
25
|
+
RestClient.post(@uri, request_body, content_type: :json)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Error handler
|
29
|
+
class JSONRPCError < RuntimeError; end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,332 @@
|
|
1
|
+
module Rallet
|
2
|
+
module Wallets
|
3
|
+
# Extracted from https://github.com/sinisterchipmunk/bitcoin-client/blob/master/lib/bitcoin-client/client.rb
|
4
|
+
# Date 4 Jan 2015
|
5
|
+
class Common
|
6
|
+
attr_reader :client
|
7
|
+
|
8
|
+
# Sample http://user:pass@localhost:2082
|
9
|
+
def initialize(service_url)
|
10
|
+
@client = Rallet::Client.new(service_url)
|
11
|
+
end
|
12
|
+
|
13
|
+
# Safely copies wallet.dat to destination, which can be a directory or a path with filename.
|
14
|
+
def backupwallet(destination)
|
15
|
+
@client.request 'backupwallet', destination
|
16
|
+
end
|
17
|
+
|
18
|
+
# Creates a multi-signature address and returns a json object
|
19
|
+
def createmultisig(nrequired, keys)
|
20
|
+
@client.request 'createmultisig', nrequired, keys
|
21
|
+
end
|
22
|
+
|
23
|
+
# nCreate a transaction spending given inputs
|
24
|
+
# (array of objects containing transaction id and output number), sending to given address(es)
|
25
|
+
def createrawtransaction(transactionid = nil, address_amount)
|
26
|
+
@client.request 'createrawtransaction', transactionid, address_amount
|
27
|
+
end
|
28
|
+
|
29
|
+
# Return a JSON object representing the serialized, hex-encoded transaction.
|
30
|
+
def decoderawtransaction(hexstring)
|
31
|
+
@client.request 'decoderawtransaction', hexstring
|
32
|
+
end
|
33
|
+
|
34
|
+
# Returns the account associated with the given address.
|
35
|
+
def getaccount(bitcoinaddress)
|
36
|
+
@client.request 'getaccount', bitcoinaddress
|
37
|
+
end
|
38
|
+
|
39
|
+
# Returns the current bitcoin address for receiving payments to this account.
|
40
|
+
def getaccountaddress(account)
|
41
|
+
@client.request 'getaccountaddress', account
|
42
|
+
end
|
43
|
+
|
44
|
+
# Returns the list of addresses for the given account.
|
45
|
+
def getaddressesbyaccount(account)
|
46
|
+
@client.request 'getaddressesbyaccount', account
|
47
|
+
end
|
48
|
+
|
49
|
+
# If +account+ is not specified, returns the server's total available balance.
|
50
|
+
# If +account+ is specified, returns the balance in the account.
|
51
|
+
def getbalance(account = nil, minconf = 1)
|
52
|
+
@client.request 'getbalance', account, minconf
|
53
|
+
end
|
54
|
+
|
55
|
+
def getbestblockhash
|
56
|
+
@client.request 'getbestblockhash'
|
57
|
+
end
|
58
|
+
|
59
|
+
# Dumps the block existing at specified height.
|
60
|
+
# Note: this is not available in the official release
|
61
|
+
def getblockbycount(height)
|
62
|
+
@client.request 'getblockbycount', height
|
63
|
+
end
|
64
|
+
|
65
|
+
# Dumps the block existing with specified hash.
|
66
|
+
def getblock(hash)
|
67
|
+
block = @client.request 'getblock', hash
|
68
|
+
block["time"] = Time.at(block["time"]).utc
|
69
|
+
block
|
70
|
+
end
|
71
|
+
|
72
|
+
# Returns the number of blocks in the longest block chain.
|
73
|
+
def getblockcount
|
74
|
+
@client.request 'getblockcount'
|
75
|
+
end
|
76
|
+
|
77
|
+
# Returns the block number of the latest block in the longest block chain.
|
78
|
+
def getblocknumber
|
79
|
+
@client.request 'getblocknumber'
|
80
|
+
end
|
81
|
+
|
82
|
+
# Returns hash of block in best-block-chain at <index>; index 0 is the genesis block
|
83
|
+
def getblockhash(index)
|
84
|
+
@client.request 'getblockhash', index
|
85
|
+
end
|
86
|
+
|
87
|
+
# Returns the number of connections to other nodes.
|
88
|
+
def getconnectioncount
|
89
|
+
@client.request 'getconnectioncount'
|
90
|
+
end
|
91
|
+
|
92
|
+
# Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
|
93
|
+
def getdifficulty
|
94
|
+
@client.request 'getdifficulty'
|
95
|
+
end
|
96
|
+
|
97
|
+
# Returns true or false whether bitcoind is currently generating hashes
|
98
|
+
def getgenerate
|
99
|
+
@client.request 'getgenerate'
|
100
|
+
end
|
101
|
+
|
102
|
+
# Returns a recent hashes per second performance measurement while generating.
|
103
|
+
def gethashespersec
|
104
|
+
@client.request 'gethashespersec'
|
105
|
+
end
|
106
|
+
|
107
|
+
# Returns an object containing various state info.
|
108
|
+
def getinfo
|
109
|
+
@client.request 'getinfo'
|
110
|
+
end
|
111
|
+
|
112
|
+
# Returns data about each connected network node.
|
113
|
+
def getpeerinfo
|
114
|
+
@client.request 'getpeerinfo'
|
115
|
+
end
|
116
|
+
|
117
|
+
# Returns an object containing mining info.
|
118
|
+
def getmininginfo
|
119
|
+
@client.request 'getmininginfo'
|
120
|
+
end
|
121
|
+
|
122
|
+
# Returns a new bitcoin address for receiving payments. If +account+ is specified (recommended),
|
123
|
+
# it is added to the address book so payments received with the address will be credited to +account+.
|
124
|
+
def getnewaddress(account = nil)
|
125
|
+
@client.request 'getnewaddress', account
|
126
|
+
end
|
127
|
+
|
128
|
+
# Returns the total amount received by addresses with +account+ in transactions
|
129
|
+
# with at least +minconf+ confirmations.
|
130
|
+
def getreceivedbyaccount(account, minconf = 1)
|
131
|
+
@client.request 'getreceivedbyaccount', account, minconf
|
132
|
+
end
|
133
|
+
|
134
|
+
# Returns the total amount received by +bitcoinaddress+ in transactions with at least +minconf+ confirmations.
|
135
|
+
def getreceivedbyaddress(bitcoinaddress, minconf = 1)
|
136
|
+
@client.request 'getreceivedbyaddress', bitcoinaddress, minconf
|
137
|
+
end
|
138
|
+
|
139
|
+
# Get detailed information about +txid+
|
140
|
+
def gettransaction(txid)
|
141
|
+
@client.request 'gettransaction', txid
|
142
|
+
end
|
143
|
+
|
144
|
+
# Get raw transaction bout +txid+. It outputs the whole transaction chain by default in HEX. If you want JSON, set verbose to 1.
|
145
|
+
# 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.
|
146
|
+
def getrawtransaction(txid, verbose = 0)
|
147
|
+
@client.request 'getrawtransaction', txid, verbose
|
148
|
+
end
|
149
|
+
|
150
|
+
# Gets all mempool txs (pedning/waiting to be added in a block)
|
151
|
+
def getrawmempool
|
152
|
+
@client.request 'getrawmempool'
|
153
|
+
end
|
154
|
+
# If +data+ is not specified, returns formatted hash data to work on:
|
155
|
+
#
|
156
|
+
# :midstate => precomputed hash state after hashing the first half of the data
|
157
|
+
# :data => block data
|
158
|
+
# :hash1 => formatted hash buffer for second hash
|
159
|
+
# :target => little endian hash target
|
160
|
+
#
|
161
|
+
# If +data+ is specified, tries to solve the block and returns true if it was successful.
|
162
|
+
def getwork(data = nil)
|
163
|
+
@client.request 'getwork', data
|
164
|
+
end
|
165
|
+
|
166
|
+
# List commands, or get help for a command.
|
167
|
+
def help(command = nil)
|
168
|
+
@client.request 'help', command
|
169
|
+
end
|
170
|
+
|
171
|
+
# Adds a private key (as returned by dumpprivkey) to your wallet.
|
172
|
+
def importprivkey(bitcoinprivkey, label = nil, rescan = true)
|
173
|
+
@client.request 'importprivkey', bitcoinprivkey, label, rescan
|
174
|
+
end
|
175
|
+
|
176
|
+
# Returns Object that has account names as keys, account balances as values.
|
177
|
+
def listaccounts(minconf = 1)
|
178
|
+
@client.request 'listaccounts', minconf
|
179
|
+
end
|
180
|
+
|
181
|
+
# Returns an array of objects containing:
|
182
|
+
#
|
183
|
+
# :account => the account of the receiving addresses
|
184
|
+
# :amount => total amount received by addresses with this account
|
185
|
+
# :confirmations => number of confirmations of the most recent transaction included
|
186
|
+
#
|
187
|
+
def listreceivedbyaccount(minconf = 1, includeempty = false)
|
188
|
+
@client.request 'listreceivedbyaccount', minconf, includeempty
|
189
|
+
end
|
190
|
+
|
191
|
+
# Returns an array of objects containing:
|
192
|
+
#
|
193
|
+
# :address => receiving address
|
194
|
+
# :account => the account of the receiving address
|
195
|
+
# :amount => total amount received by the address
|
196
|
+
# :confirmations => number of confirmations of the most recent transaction included
|
197
|
+
#
|
198
|
+
# To get a list of accounts on the system, execute bitcoind listreceivedbyaddress 0 true
|
199
|
+
def listreceivedbyaddress(minconf = 1, includeempty = false)
|
200
|
+
@client.request 'listreceivedbyaddress', minconf, includeempty
|
201
|
+
end
|
202
|
+
|
203
|
+
# Returns up to +count+ most recent transactions for account +account+.
|
204
|
+
def listtransactions(account = '' , count = 10, from = 0)
|
205
|
+
@client.request 'listtransactions', account, count, from
|
206
|
+
end
|
207
|
+
|
208
|
+
# Returns transactions since <hash> block
|
209
|
+
def listsinceblock(hash)
|
210
|
+
@client.request 'listsinceblock', hash
|
211
|
+
end
|
212
|
+
|
213
|
+
|
214
|
+
# Move from one account in your wallet to another.
|
215
|
+
def move(fromaccount, toaccount, amount, minconf = 1, comment = nil)
|
216
|
+
@client.request 'move', fromaccount, toaccount, amount, minconf, comment
|
217
|
+
end
|
218
|
+
|
219
|
+
# 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.
|
220
|
+
def searchrawtransactions(bitcoinaddress, verbose=1)
|
221
|
+
@client.request 'searchrawtransactions', bitcoinaddress, verbose
|
222
|
+
end
|
223
|
+
|
224
|
+
# +amount+ is a real and is rounded to 8 decimal places. Returns the transaction ID if successful.
|
225
|
+
def sendfrom(fromaccount, tobitcoinaddress, amount, minconf = 1, comment = nil, comment_to = nil)
|
226
|
+
@client.request 'sendfrom', fromaccount, tobitcoinaddress, amount, minconf, comment, comment_to
|
227
|
+
end
|
228
|
+
|
229
|
+
# Submits raw transaction (serialized, hex-encoded) to local node and network.
|
230
|
+
def sendrawtransaction(hexstring)
|
231
|
+
@client.request 'sendrawtransaction', hexstring
|
232
|
+
end
|
233
|
+
# +amount+ is a real and is rounded to 8 decimal places
|
234
|
+
def sendtoaddress(bitcoinaddress, amount, comment = nil, comment_to = nil)
|
235
|
+
@client.request 'sendtoaddress', bitcoinaddress, amount, comment, comment_to
|
236
|
+
end
|
237
|
+
|
238
|
+
def sendmany(fromaccount, addresses_amounts, minconf = 1, comment = nil)
|
239
|
+
@client.request 'sendmany', fromaccount, addresses_amounts, minconf, comment
|
240
|
+
end
|
241
|
+
|
242
|
+
# Sets the account associated with the given address.
|
243
|
+
def setaccount(bitcoinaddress, account)
|
244
|
+
@client.request 'setaccount', bitcoinaddress, account
|
245
|
+
end
|
246
|
+
|
247
|
+
# +generate+ is true or false to turn generation on or off.
|
248
|
+
# Generation is limited to +genproclimit+ processors, -1 is unlimited.
|
249
|
+
def setgenerate(generate, genproclimit = -1)
|
250
|
+
@client.request 'setgenerate', generate, genproclimit
|
251
|
+
end
|
252
|
+
|
253
|
+
# Sign inputs for raw transaction (serialized, hex-encoded).
|
254
|
+
def signrawtransaction(hexstring, transaction = nil, privatekey =nil, sighashtype = "ALL")
|
255
|
+
@client.request 'signrawtransaction', hexstring, transaction, privatekey, sighashtype
|
256
|
+
end
|
257
|
+
|
258
|
+
# Stop bitcoin server.
|
259
|
+
def stop
|
260
|
+
@client.request 'stop'
|
261
|
+
end
|
262
|
+
|
263
|
+
# Return information about +bitcoinaddress+.
|
264
|
+
def validateaddress(bitcoinaddress)
|
265
|
+
@client.request 'validateaddress', bitcoinaddress
|
266
|
+
end
|
267
|
+
|
268
|
+
# Sign a message using +bitcoinaddress+.
|
269
|
+
def signmessage(bitcoinaddress, message)
|
270
|
+
@client.request 'signmessage', bitcoinaddress, message
|
271
|
+
end
|
272
|
+
|
273
|
+
# Verify signature made by +bitcoinaddress+.
|
274
|
+
def verifymessage(bitcoinaddress, signature, message)
|
275
|
+
@client.request 'verifymessage', bitcoinaddress, signature, message
|
276
|
+
end
|
277
|
+
|
278
|
+
# Stores the wallet decryption key in memory for +timeout+ seconds.
|
279
|
+
def walletpassphrase(passphrase, timeout)
|
280
|
+
@client.request 'walletpassphrase', passphrase, timeout
|
281
|
+
end
|
282
|
+
|
283
|
+
# Removes the wallet encryption key from memory, locking the wallet.
|
284
|
+
# After calling this method, you will need to call walletpassphrase again
|
285
|
+
# before being able to call any methods which require the wallet to be
|
286
|
+
# unlocked.
|
287
|
+
def walletlock
|
288
|
+
@client.request 'walletlock'
|
289
|
+
end
|
290
|
+
|
291
|
+
alias account getaccount
|
292
|
+
alias account_address getaccountaddress
|
293
|
+
alias addresses_by_account getaddressesbyaccount
|
294
|
+
alias balance getbalance
|
295
|
+
alias bestblockhash getbestblockhash
|
296
|
+
alias block_by_count getblockbycount
|
297
|
+
alias block_count getblockcount
|
298
|
+
alias block_number getblocknumber
|
299
|
+
alias block_hash getblockhash
|
300
|
+
alias connection_count getconnectioncount
|
301
|
+
alias difficulty getdifficulty
|
302
|
+
alias generate? getgenerate
|
303
|
+
alias hashes_per_sec gethashespersec
|
304
|
+
alias info getinfo
|
305
|
+
alias peerinfo getpeerinfo
|
306
|
+
alias new_address getnewaddress
|
307
|
+
alias received_by_account getreceivedbyaccount
|
308
|
+
alias received_by_address getreceivedbyaddress
|
309
|
+
alias transaction gettransaction
|
310
|
+
alias rawtransaction getrawtransaction
|
311
|
+
alias work getwork
|
312
|
+
alias get_work getwork
|
313
|
+
alias accounts listaccounts
|
314
|
+
alias list_received_by_account listreceivedbyaccount
|
315
|
+
alias list_received_by_address listreceivedbyaddress
|
316
|
+
alias transactions listtransactions
|
317
|
+
alias list_transactions listtransactions
|
318
|
+
alias send_from sendfrom
|
319
|
+
alias send_to_address sendtoaddress
|
320
|
+
alias send_many sendmany
|
321
|
+
alias account= setaccount
|
322
|
+
alias set_account setaccount
|
323
|
+
alias generate= setgenerate
|
324
|
+
alias set_generate setgenerate
|
325
|
+
alias validate_address validateaddress
|
326
|
+
alias sign_message signmessage
|
327
|
+
alias verify_message verifymessage
|
328
|
+
alias search_raw_transactions searchrawtransactions
|
329
|
+
alias raw_mempool getrawmempool
|
330
|
+
end
|
331
|
+
end
|
332
|
+
end
|
data/lib/rallet.rb
ADDED
data/rallet.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rallet/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'rallet'
|
8
|
+
spec.version = Rallet::VERSION
|
9
|
+
spec.authors = ['Mustafa Turan']
|
10
|
+
spec.email = ['mustafaturan.net@gmail.com']
|
11
|
+
spec.description = %q{A generalized JSONRPC client for crypto currencies.}
|
12
|
+
spec.summary = spec.description
|
13
|
+
spec.homepage = 'https://github.com/mustafaturan/rallet'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_runtime_dependency 'rest-client', '~> 1.7', '>= 1.7.2'
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
23
|
+
spec.add_development_dependency 'rake', '~> 10.1'
|
24
|
+
end
|
data/test/test_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rallet
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mustafa Turan
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-02-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rest-client
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.7'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.7.2
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.7'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.7.2
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: bundler
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.3'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.3'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '10.1'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '10.1'
|
61
|
+
description: A generalized JSONRPC client for crypto currencies.
|
62
|
+
email:
|
63
|
+
- mustafaturan.net@gmail.com
|
64
|
+
executables: []
|
65
|
+
extensions: []
|
66
|
+
extra_rdoc_files: []
|
67
|
+
files:
|
68
|
+
- ".gitignore"
|
69
|
+
- ".travis.yml"
|
70
|
+
- Gemfile
|
71
|
+
- LICENSE.txt
|
72
|
+
- README.md
|
73
|
+
- Rakefile
|
74
|
+
- lib/rallet.rb
|
75
|
+
- lib/rallet/client.rb
|
76
|
+
- lib/rallet/version.rb
|
77
|
+
- lib/rallet/wallets.rb
|
78
|
+
- lib/rallet/wallets/common.rb
|
79
|
+
- rallet.gemspec
|
80
|
+
- test/test_helper.rb
|
81
|
+
homepage: https://github.com/mustafaturan/rallet
|
82
|
+
licenses:
|
83
|
+
- MIT
|
84
|
+
metadata: {}
|
85
|
+
post_install_message:
|
86
|
+
rdoc_options: []
|
87
|
+
require_paths:
|
88
|
+
- lib
|
89
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
requirements: []
|
100
|
+
rubyforge_project:
|
101
|
+
rubygems_version: 2.4.5
|
102
|
+
signing_key:
|
103
|
+
specification_version: 4
|
104
|
+
summary: A generalized JSONRPC client for crypto currencies.
|
105
|
+
test_files:
|
106
|
+
- test/test_helper.rb
|