import script import script.opcodes import msgs import json import bitcoind import jsonrpc from utils import h2h for hex_tx in bitcoind.get_latests_txs(): tx = msgs.Tx.frombinary(hex_tx.decode("hex"))[0] print "Tx %s" % h2h(tx.hash) print json.dumps(tx.tojson(), sort_keys=True, indent=4, separators=(',', ': ')) for i, inp in enumerate(tx.inputs): print "decoding input #%d: %s" % (i, str(script.opcodes.decode_script(inp.script))) for i, outp in enumerate(tx.outputs): print "decoding output #%d: %s" % (i, str(script.opcodes.decode_script(outp.script)))
if __name__ == "__main__": import sys import time logging.basicConfig(format='%(name)s - %(message)s', level=logging.DEBUG) cmd = sys.argv[1] if cmd == "exporttx": txhash = sys.argv[2].decode("hex")[::-1] tx = transactions.Tx.get_by_hash(txhash) save_tx(sys.argv[3], tx.tx) if cmd == "importtx": tx = load_tx(sys.argv[2]) print transactions.Tx.get_or_make(tx).hexhash if cmd == "infotx": txhash = sys.argv[2].decode("hex")[::-1] tx = transactions.Tx.get_by_hash(txhash) print json.dumps(tx.tojson(), sort_keys=True, indent=2) if cmd == "getoutputs": txhash = sys.argv[2].decode("hex")[::-1] tx = transactions.Tx.get_by_hash(txhash) outputs = [] for output, spend in zip(tx.tx.tojson()["outputs"], tx.redeemed): output["address"] = getaddress(output["script"]) output["spend"] = h2h(spend) outputs.append(output) print json.dumps(outputs, sort_keys=True, indent=2)
if __name__ == "__main__": import sys import time logging.basicConfig(format="%(name)s - %(message)s", level=logging.DEBUG) cmd = sys.argv[1] if cmd == "exporttx": txhash = sys.argv[2].decode("hex")[::-1] tx = transactions.Tx.get_by_hash(txhash) save_tx(sys.argv[3], tx.tx) if cmd == "importtx": tx = load_tx(sys.argv[2]) print transactions.Tx.get_or_make(tx).hexhash if cmd == "infotx": txhash = sys.argv[2].decode("hex")[::-1] tx = transactions.Tx.get_by_hash(txhash) print json.dumps(tx.tojson(), sort_keys=True, indent=2) if cmd == "getoutputs": txhash = sys.argv[2].decode("hex")[::-1] tx = transactions.Tx.get_by_hash(txhash) outputs = [] for output, spend in zip(tx.tx.tojson()["outputs"], tx.redeemed): output["address"] = getaddress(output["script"]) output["spend"] = h2h(spend) outputs.append(output) print json.dumps(outputs, sort_keys=True, indent=2)