Exemple #1
0
import json
# import sys
# reload(sys)
# sys.setdefaultencoding('utf8')
path_list = os.listdir("./")
filelist = []
for filename in path_list:
    if os.path.splitext(filename)[1] == ".dat":
        filelist.append(filename)
# print(filelist)

# for i in filelist:
#     print(i)
#     blk = get_blocks(i)

blk = get_blocks('./../blk00000.dat')
for raw_block in blk:
    b = Block(raw_block)
    bheader = BlockHeader(raw_block)
    # print(block.hash)
    b2 = get_block(b.hash)

    a = {
        "hash": b.hash,
        "basic": {
            "prev_block": bheader.previous_block_hash,
            "mrkl_root": bheader.merkle_root,
            "height": b2.height,
            "time": str(bheader.timestamp),
            "n_tx": b.n_transactions,
            "main_chain": True,
Exemple #2
0
#-*- coding: utf-8 -*-
from blockchain_parser.blockchain import Blockchain,get_files,get_blocks
from blockchain_parser.block import Block
import os
import sys
reload(sys)
sys.setdefaultencoding('utf8')


blk = get_blocks('blk00001.dat')
for raw_block in blk:
        block = Block(raw_block)
        for tx in block.transactions:
                for no, output in enumerate(tx.outputs):
                        print(output.addresses[0].address)
                        add1= output.addresses[0].address
                        address_url="https://blockchain.info/rawaddr/"+add1
                        command = 'curl'+" "+str(address_url)
                        # if checkresult == None:
                        output = os.popen(command)
                        result = output.read()
                        command2 = "curl -H 'Content-Type: application/x-ndjson' -XPOST 'http://server:9200/btcaddr/addrs/"+add1+"'"+" -d"+" ' "+result+" ' "
                        os.system(command2)
Exemple #3
0
#coding:utf-8

from blockchain_parser.blockchain import Blockchain, get_files, get_blocks
from blockchain_parser.block import Block
import os
# Instantiate the Blockchain by giving the path to the directory
# containing the .blk files created by bitcoind
blk = get_blocks('blk00004.dat')
for raw_block in blk:
    block = Block(raw_block)
    for tx in block.transactions:
        print(tx.hash)
        tx_url = "https://blockchain.info/rawtx/" + tx.hash
        command = 'curl' + " " + str(tx_url)
        output = os.popen(command)
        result = output.read()
        #print(result)
        command2 = "curl -H 'Content-Type: application/x-ndjson' -XPOST 'server:9200/btctxes/txes/" + tx.hash + "'" + " -d" + " ' " + result + " ' "
        os.system(command2)
Exemple #4
0
#address with 'suspect' withdraw: maybe a paper wallet from WG 
wallets = np.load('suspect_wallets.npy')

#remove duplicated...
ws = set(wallets)

wallets = None

selected=[]
INICIO = 1346
FIM=1481 #

for i in range( INICIO, FIM):
    print i
    for blockraw in BCP.get_blocks(DIR%i):
        bt = B.Block(blockraw)
        bh = bt.header
        print '\t',bh.timestamp.isoformat()
        for tx in bt.transactions:
            for o in tx.outputs:
                try:
                    for a in o.addresses:
                        if a.address in ws:
                            print '->',a.address
                            selected.append(a.address)
                except:
                    print 'erro de parsing...'
                            
selected = [_ for _ in set(selected)]