Author

Topic: Soft para ver el saldo de varias direcciones bitcoin (Read 2790 times)

hero member
Activity: 865
Merit: 1006
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
legendary
Activity: 1623
Merit: 1608
También es interesante tener en cuenta que Blockchain.info tiene activadas las cabeceras CORS 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
hero member
Activity: 865
Merit: 1006
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.

Funciona de fábula...
Muchas gracias
legendary
Activity: 1876
Merit: 1475
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.
hero member
Activity: 865
Merit: 1006
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
hero member
Activity: 865
Merit: 1006
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 :-(
legendary
Activity: 1974
Merit: 1029
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
$ _
hero member
Activity: 865
Merit: 1006
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

Jump to: