insert_tx = ("INSERT INTO block_tx " + "(version, tx_input_count, tx_output_count, lock_time, " + "block_id, tx_hash)" + "VALUES " + "(?,?,?,?,?,'')") c.execute(insert_tx, (t.version, t.tx_input_count, t.tx_output_count, t.lock_time, block_id)) conn.commit() # get last tx id result = conn.execute("SELECT max(id) FROM block_tx") for row in result: tx_id = row[0] # insert each tx_input for ti in t.tx_inputs: scriptsig = scriptSig(ti.sigscript) addr = pubkey2addr(scriptsig.pubkey) insert_txinput = ( "INSERT INTO block_txinput " + "(prev_hash, `index`, script_bytes, sigscript, sequence, addr, tx_id)" + "VALUES " + "(?,?,?,?,?,?,?)") c.execute(insert_txinput, (ti.prev_hash, ti.index, ti.script_bytes, ti.sigscript.encode('hex'), ti.sequence, addr, tx_id)) conn.commit() # insert each tx_output for to in t.tx_outputs: spk = to.script_pk.encode('hex') if spk[:6] == '76a914':
"VALUES " + "(?,?,?,?,?,'')" ) c.execute(insert_tx, (t.version, t.tx_input_count, t.tx_output_count, t.lock_time, block_id)) conn.commit() # get last tx id result = conn.execute("SELECT max(id) FROM block_tx") for row in result: tx_id = row[0] # insert each tx_input for ti in t.tx_inputs: scriptsig = scriptSig(ti.sigscript) addr = pubkey2addr(scriptsig.pubkey) insert_txinput = ( "INSERT INTO block_txinput " + "(prev_hash, `index`, script_bytes, sigscript, sequence, addr, tx_id)" + "VALUES " + "(?,?,?,?,?,?,?)" ) c.execute(insert_txinput, (ti.prev_hash, ti.index, ti.script_bytes, ti.sigscript.encode('hex'), ti.sequence, addr, tx_id)) conn.commit() # insert each tx_output for to in t.tx_outputs: spk = to.script_pk.encode('hex')
from block import block from script import script from blockutil import pkhash2addr from blockutil import pubkey2addr blockfile = '/home/marzig76/.bitcoin/blocks/blk00004.dat' blockstream = open(blockfile, 'rb') b = block(blockstream) for t in b.txs: for ti in t.tx_inputs: print 'in addr: ' + pubkey2addr(ti.sigscript) for to in t.tx_outputs: spk = to.script_pk.encode('hex') if spk[:6] == '76a914': print 'out addr: ' + pkhash2addr(spk[6:46]) ss = str(script(to.script_pk)) print 'script string: ' + ss