new command: getrawtransaction

This commit is contained in:
thomasv 2013-09-15 11:19:48 +02:00
parent 41878dc5e0
commit b75f8d795a
5 changed files with 11 additions and 7 deletions

View File

@ -356,7 +356,7 @@ if __name__ == '__main__':
wallet.update_password(seed, password, new_password)
else:
cmd_runner = Commands(wallet, interface)
cmd_runner = Commands(wallet, network)
func = eval('cmd_runner.' + cmd)
cmd_runner.password = password
try:

View File

@ -1285,7 +1285,7 @@ class ElectrumWindow(QMainWindow):
console.updateNamespace({'wallet' : self.wallet, 'network' : self.network, 'gui':self})
console.updateNamespace({'util' : util, 'bitcoin':bitcoin})
c = commands.Commands(self.wallet, self.network.interface, lambda: self.console.set_json(True))
c = commands.Commands(self.wallet, self.network, lambda: self.console.set_json(True))
methods = {}
def mkfunc(f, method):
return lambda *args: apply( f, (method, args, self.password_dialog ))

View File

@ -53,6 +53,7 @@ register_command('getbalance', 0, 1, False, False, 'Return the balance
register_command('getaddressbalance', 1, 1, False, False, 'Return the balance of an address', 'getbalance <address>')
register_command('getaddresshistory', 1, 1, False, False, 'Return the transaction history of an address', 'getaddresshistory <address>')
register_command('getconfig', 1, 1, False, True, 'Return a configuration variable', 'getconfig <name>', config_options)
register_command('getrawtransaction', 1, 2, False, False, 'Retrieve a transaction', 'getrawtransaction <txhash> <height>')
register_command('getseed', 0, 0, True, True, 'Print the generation seed of your wallet.')
register_command('help', 0, 1, False, True, 'Prints this help')
register_command('history', 0, 0, False, False, 'Returns the transaction history of your wallet')
@ -81,9 +82,9 @@ register_command('verifymessage', 3,-1, False, True, 'Verifies a signatu
class Commands:
def __init__(self, wallet, interface, callback = None):
def __init__(self, wallet, network, callback = None):
self.wallet = wallet
self.interface = interface
self.network = network
self._callback = callback
self.password = None
@ -324,4 +325,8 @@ class Commands:
if options_syntax: print_msg("options:\n" + options_syntax)
return None
def getrawtransaction(self, tx_hash, height = 0):
height = int(height)
return self.network.retrieve_transaction(tx_hash, height)

View File

@ -182,7 +182,8 @@ class Network(threading.Thread):
def retrieve_transaction(self, tx_hash, tx_height=0):
import transaction
r = self.interface.synchronous_get([ ('blockchain.transaction.get',[tx_hash, tx_height]) ])[0]
return transaction.Transaction(r)
if r:
return transaction.Transaction(r)
def parse_servers(self, result):

View File

@ -35,7 +35,6 @@ class TxVerifier(threading.Thread):
self.blockchain = network.blockchain
self.interface = network.interface
self.transactions = {} # requested verifications (with height sent by the requestor)
#self.interface.register_channel('txverifier')
self.verified_tx = storage.get('verified_tx3',{}) # height, timestamp of verified transactions
self.merkle_roots = storage.get('merkle_roots',{}) # hashed by me
self.lock = threading.Lock()
@ -92,7 +91,6 @@ class TxVerifier(threading.Thread):
def stop(self):
with self.lock: self.running = False
#self.interface.poke('verifier')
def is_running(self):
with self.lock: return self.running