Bitcoin Forum

Local => Esquina Libre => Topic started by: xcbtrader on March 20, 2015, 03:00:18 PM



Title: Soft para ver el saldo de varias direcciones bitcoin
Post by: xcbtrader on March 20, 2015, 03:00:18 PM
Buenas a todos.

Para unas pruebas que estoy realizando, necesito un programa para leer un fichero txt con una lista de direcciones bitcoin, y mirar su saldo.
Mi idea es hacer un programa, utilizando la API de blockchain https://blockchain.info/es/q/addressbalance/  ir mirando una a una las direcciones y si el saldo es diferente de 0 guardar esa dirección en otro fichero txt.

Yo normalmente programo en Matlab.

Alguna sugerencia???

Un saludo



Title: Re: Soft para ver el saldo de varias direcciones bitcoin
Post by: dserrano5 on March 20, 2015, 07:33:59 PM
Para unas pruebas que estoy realizando, necesito un programa para leer un fichero txt con una lista de direcciones bitcoin, y mirar su saldo.
Mi idea es hacer un programa, utilizando la API de blockchain https://blockchain.info/es/q/addressbalance/  ir mirando una a una las direcciones y si el saldo es diferente de 0 guardar esa dirección en otro fichero txt.

Yo normalmente programo en Matlab.

No sé en Matlab, pero en Perl es trivial:

Code:
$ cat orig.txt 
1JR9vCVAtBsWDhYNZQ2kricThLMxWHKDfp
13mRysvzGQqTzLiLTgXRp2ghtqs9nWbdeS
1MjoeaszwcZEVLnNMiaZNsNj7UG3apfdFw
17msGTEYUk5nffmJuewnUEL87z4uHPZBs4
$ perl
#!/usr/bin/perl

use warnings;
use strict;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my %addrs_with_bal;

open my $infd, '<', "$ENV{'HOME'}/orig.txt" or die "open: $!";
while (<$infd>) {
    chomp;
    my $res = $ua->get ("https://blockchain.info/q/addressbalance/$_");
    if ($res->is_success) {
        my $bal = $res->content;
        $addrs_with_bal{$_} = undef if $bal;
    } else {
        warn sprintf "failed to get balance for address $_: %d %s\n", $res->code, $res->message;
    }
}
close $infd;

open my $outfd, '>', "$ENV{'HOME'}/dest.txt" or die "open: $!";
print $outfd "$_\n" for keys %addrs_with_bal;
close $outfd;
__END__
$ cat dest.txt
1JR9vCVAtBsWDhYNZQ2kricThLMxWHKDfp
17msGTEYUk5nffmJuewnUEL87z4uHPZBs4
$ _


Title: Re: Soft para ver el saldo de varias direcciones bitcoin
Post by: xcbtrader on March 20, 2015, 10:05:00 PM
Para unas pruebas que estoy realizando, necesito un programa para leer un fichero txt con una lista de direcciones bitcoin, y mirar su saldo.
Mi idea es hacer un programa, utilizando la API de blockchain https://blockchain.info/es/q/addressbalance/  ir mirando una a una las direcciones y si el saldo es diferente de 0 guardar esa dirección en otro fichero txt.

Yo normalmente programo en Matlab.

No sé en Matlab, pero en Perl es trivial:

Code:
$ cat orig.txt 
1JR9vCVAtBsWDhYNZQ2kricThLMxWHKDfp
13mRysvzGQqTzLiLTgXRp2ghtqs9nWbdeS
1MjoeaszwcZEVLnNMiaZNsNj7UG3apfdFw
17msGTEYUk5nffmJuewnUEL87z4uHPZBs4
$ perl
#!/usr/bin/perl

use warnings;
use strict;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my %addrs_with_bal;

open my $infd, '<', "$ENV{'HOME'}/orig.txt" or die "open: $!";
while (<$infd>) {
    chomp;
    my $res = $ua->get ("https://blockchain.info/q/addressbalance/$_");
    if ($res->is_success) {
        my $bal = $res->content;
        $addrs_with_bal{$_} = undef if $bal;
    } else {
        warn sprintf "failed to get balance for address $_: %d %s\n", $res->code, $res->message;
    }
}
close $infd;

open my $outfd, '>', "$ENV{'HOME'}/dest.txt" or die "open: $!";
print $outfd "$_\n" for keys %addrs_with_bal;
close $outfd;
__END__
$ cat dest.txt
1JR9vCVAtBsWDhYNZQ2kricThLMxWHKDfp
17msGTEYUk5nffmJuewnUEL87z4uHPZBs4
$ _

Muchas gracias por el código.
Por desgracia.. no se perl :-(


Title: Re: Soft para ver el saldo de varias direcciones bitcoin
Post by: xcbtrader on April 03, 2015, 11:25:00 PM
Buenas a todos.
Ahora estoy aprendiendo php, y el código lo voy a hacer en este lenguaje.
Ya tengo la manera de generar la clave privada y la publica, y las guardo en sendas variables.
Ahora lo que necesito es poder comprovar el saldo de la dirección pública y que la guarde en una variable.

El saldo lo obtengo de: http://blockexplorer.com/q/addressbalance/+CLAVE PUBLICA

Mi problema es que no se como hacerlo con php.
He provado:
exec();
passtru();
shell_exec();
system();

Y no hay manera...
¿A alguien se le ocurre como hacerlo?

Un saludo


Title: Re: Soft para ver el saldo de varias direcciones bitcoin
Post by: EcuaMobi on April 03, 2015, 11:29:00 PM
Buenas a todos.
Ahora estoy aprendiendo php, y el código lo voy a hacer en este lenguaje.
Ya tengo la manera de generar la clave privada y la publica, y las guardo en sendas variables.
Ahora lo que necesito es poder comprovar el saldo de la dirección pública y que la guarde en una variable.

El saldo lo obtengo de: http://blockexplorer.com/q/addressbalance/+CLAVE PUBLICA

Mi problema es que no se como hacerlo con php.
He provado:
exec();
passtru();
shell_exec();
system();

Y no hay manera...
¿A alguien se le ocurre como hacerlo?

Un saludo

Yo he hecho esto de varias formas. La más fácil es usar simplemente:
Code:
$resultado = file_get_contents("http://blockexplorer.com/q/addressbalance/" . $direccion);
Ya que esta API devuelve texto plano sólo tendrías que manejar errores y listo.
Otras APIs devuelven JSON así que debes completarlo con
Code:
json_decode($resultado);

Si necesitas ver los saldos de muchas direcciones frecuentemente podrías toparte con límites de las API. Te recomiendo primero usar varias API y usarlas alternadamente, o si necesitas aún más consultas deberías instalarte tu propio nodo junto a un explorador open-source con API como insight (https://github.com/bitpay/insight-api).


Title: Re: Soft para ver el saldo de varias direcciones bitcoin
Post by: xcbtrader on April 04, 2015, 08:13:53 AM
Buenas a todos.
Ahora estoy aprendiendo php, y el código lo voy a hacer en este lenguaje.
Ya tengo la manera de generar la clave privada y la publica, y las guardo en sendas variables.
Ahora lo que necesito es poder comprovar el saldo de la dirección pública y que la guarde en una variable.

El saldo lo obtengo de: http://blockexplorer.com/q/addressbalance/+CLAVE PUBLICA

Mi problema es que no se como hacerlo con php.
He provado:
exec();
passtru();
shell_exec();
system();

Y no hay manera...
¿A alguien se le ocurre como hacerlo?

Un saludo

Yo he hecho esto de varias formas. La más fácil es usar simplemente:
Code:
$resultado = file_get_contents("http://blockexplorer.com/q/addressbalance/" . $direccion);
Ya que esta API devuelve texto plano sólo tendrías que manejar errores y listo.
Otras APIs devuelven JSON así que debes completarlo con
Code:
json_decode($resultado);

Si necesitas ver los saldos de muchas direcciones frecuentemente podrías toparte con límites de las API. Te recomiendo primero usar varias API y usarlas alternadamente, o si necesitas aún más consultas deberías instalarte tu propio nodo junto a un explorador open-source con API como insight (https://github.com/bitpay/insight-api).

Funciona de fábula...
Muchas gracias


Title: Re: Soft para ver el saldo de varias direcciones bitcoin
Post by: Shawshank on April 05, 2015, 07:51:30 AM
También es interesante tener en cuenta que Blockchain.info tiene activadas las cabeceras CORS (http://http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) para varias de sus llamadas. Creo que también para addressbalance. Así, puedes seguir programando en php, y el balance de una dirección se podría obtener directamente desde el móvil o el navegador del cliente. El resto del procesamiento, lo harías en Javascript en el propio navegador.

De esa manera, las peticiones podrían ser más rápidas y reducirías el tráfico en tu web.

https://blockchain.info/q (https://blockchain.info/q)


Title: Re: Soft para ver el saldo de varias direcciones bitcoin
Post by: xcbtrader on April 06, 2015, 01:20:03 PM
Al final he hecho un programa en PHP, utilizando un scrypt que he encontrado por internet.
Para ver diferentes direcciones lo que hago es ir generandolas aleatoriamente y cada 5 segundos se autoreinicia la web y genera un nuevo par.

Un saludo