Author

Topic: Direcciones Bitcoin implicadas en cada bloque (Read 535 times)

hero member
Activity: 865
Merit: 1006
January 18, 2016, 05:23:35 PM
#7
import urllib
import json
import requests

request = 'http://btc.blockr.io/api/v1/block/txs/last'
response = requests.get(request)
content = response.json()

Code:
for tx in content['data']['txs']:
    for vout in tx['trade']['vouts']:
        print vout['address']


Muchas gracias!!!

Funciona perfectamente
Simplemente, como trabajo con Python 3.5 he modificado el print:

print (vout['address'])
legendary
Activity: 1974
Merit: 1030
import urllib
import json
import requests

request = 'http://btc.blockr.io/api/v1/block/txs/last'
response = requests.get(request)
content = response.json()

Code:
for tx in content['data']['txs']:
    for vout in tx['trade']['vouts']:
        print vout['address']
hero member
Activity: 865
Merit: 1006
Al final he encontrado una API interesante donde se puede consultar la blockchain en formato JSON.

Como no se mucha programación, me estoy rompiendo la cabeza para poder acceder a los datos en ese formato.
Yo necesito recuperar las direcciones que se muestran en la web.
Pongo un ejemplo para que se ve el texto en formatp JSOn por si alguien me puede ayudar:

{"status":"success","data":{"nb":393760,"limit_txs":100,"nb_txs":359,"nb_txs_displayed":100,"txs":[{"tx":"caefd14f2206c559e3881eabf5a7f2cb7315596c9a685a14a412e995a825918f","trade":{"vins":[],"vouts":[{"address":"1Ebb8NfVmKMoGuMJCAEbVMv2dX8GnzgxSa","is_nonstandard":false,"amount":25.07060034,"n":0,"type":1,"is_spent":0}]},"days_destroyed":0,"is_coinbased":1,"fee":"0.00000000","extras":null},{"tx":"4178548834ef9170ebf1d027d74d9d19a4f4cf969a58a77e1a15008b6f59f353","trade":{"vins":[{"address":"1FCuomATbxZ7DV2uiAPyBZNFK1rPXc2N6k","is_nonstandard":false,"amount":-199.99999073,"n":0,"type":0,"vout_tx":"29d62cbc3200854740178e3b95588d64473cc4b845cafc15bafff7839c90f9c8"}],"vouts":[{"address":"1MYX423TnHL3TWHrNVkvbst1VDqCrBKuyk","is_nonstandard":false,"amount":199.99995193,"n":0,"type":1,"is_spent":0}]},"days_destroyed":28058.33,"is_coinbased":0,"fee":"0.00003880","extras":null},{"tx":"5202666665cd53d94162ee1e70040cb6273767468c7f118ca16c183e585a9af7","trade":{"vins":

La web de donde obtengo los resultados es:
http://btc.blockr.io/api/v1/block/txs/last

Esto da el último bloque minado.

¿Alguien sabe como puedo sacar las address en este formato?

Pongo un ejemplo del código de prueba que estoy haciendo:

import urllib
import json
import requests

request = 'http://btc.blockr.io/api/v1/block/txs/last'
response = requests.get(request)
content = response.json()

addr = (content['data'] ['txs'])
print (addr)

Un saludo
legendary
Activity: 1974
Merit: 1030
dudo, que cuando haces una búsqueda de el saldo de una dirección, se recorra en ese momento toda la cadena para encontrar todos los movimientos de esa cuenta.
Hablamos de muchos Gigas de info y muchos movimientos.

Si te refieres a webs del tipo blockchain.info o insight.bitpay.com, ellos tienen una base de datos adicional (aparte de la cadena de bloques) que se actualiza con cada bloque que es descubierto, lo que posibilita hacer esta clase de búsquedas.

O sea, básicamente lo que supones Tongue.
hero member
Activity: 865
Merit: 1006
Je je je...

Ya se que la base de datos general de bitcoin, es la cadena de bloques, pero dudo, que cuando haces una búsqueda de el saldo de una dirección, se recorra en ese momento toda la cadena para encontrar todos los movimientos de esa cuenta.
Hablamos de muchos Gigas de info y muchos movimientos.
Supongo que debe existir algún tipo de base datos adicional, sólo con las direcciones, y que se va actualizando cada bloque.

No se, es sólo una suposición ...
legendary
Activity: 1974
Merit: 1030
Mirando lo que tarda electrum cuando pides el balance de una dirección, supongo que tiene que existir alguna base de datos con toda esta info.

La base de datos se llama "cadena de bloques" Smiley y usando electrum no tienes acceso directo a ella. Una cosa que podrías hacer sería usar bitcoin core y atacarle por el interfaz RPC para extraer todas las transacciones de cada bloque y todas las direcciones de cada transacción.
hero member
Activity: 865
Merit: 1006
Buenas a todos.

Para un proyecto que estoy desarrollando, necesito saber las direcciones bitcoin implicadas en cada bloque, o todas las direcciones que actualmente tienen saldo.
Estoy programando en Python, y utilizo la billetera electrum y su protocolo.

¿No se si esto es posible?

Mirando lo que tarda electrum cuando pides el balance de una dirección, supongo que tiene que existir alguna base de datos con toda esta info.

Un saludo
Jump to: