Bitcoin Forum
May 10, 2024, 06:39:52 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Soft para ver el saldo de varias direcciones bitcoin  (Read 2764 times)
xcbtrader (OP)
Hero Member
*****
Offline Offline

Activity: 865
Merit: 1006


View Profile
March 20, 2015, 03:00:18 PM
 #1

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


1715366392
Hero Member
*
Offline Offline

Posts: 1715366392

View Profile Personal Message (Offline)

Ignore
1715366392
Reply with quote  #2

1715366392
Report to moderator
1715366392
Hero Member
*
Offline Offline

Posts: 1715366392

View Profile Personal Message (Offline)

Ignore
1715366392
Reply with quote  #2

1715366392
Report to moderator
1715366392
Hero Member
*
Offline Offline

Posts: 1715366392

View Profile Personal Message (Offline)

Ignore
1715366392
Reply with quote  #2

1715366392
Report to moderator
"If you don't want people to know you're a scumbag then don't be a scumbag." -- margaritahuyan
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715366392
Hero Member
*
Offline Offline

Posts: 1715366392

View Profile Personal Message (Offline)

Ignore
1715366392
Reply with quote  #2

1715366392
Report to moderator
1715366392
Hero Member
*
Offline Offline

Posts: 1715366392

View Profile Personal Message (Offline)

Ignore
1715366392
Reply with quote  #2

1715366392
Report to moderator
1715366392
Hero Member
*
Offline Offline

Posts: 1715366392

View Profile Personal Message (Offline)

Ignore
1715366392
Reply with quote  #2

1715366392
Report to moderator
dserrano5
Legendary
*
Offline Offline

Activity: 1974
Merit: 1029



View Profile
March 20, 2015, 07:33:59 PM
 #2

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
$ _
xcbtrader (OP)
Hero Member
*****
Offline Offline

Activity: 865
Merit: 1006


View Profile
March 20, 2015, 10:05:00 PM
 #3

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 :-(

xcbtrader (OP)
Hero Member
*****
Offline Offline

Activity: 865
Merit: 1006


View Profile
April 03, 2015, 11:25:00 PM
 #4

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

EcuaMobi
Legendary
*
Offline Offline

Activity: 1862
Merit: 1469


https://Ecua.Mobi


View Profile WWW
April 03, 2015, 11:29:00 PM
 #5

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.

xcbtrader (OP)
Hero Member
*****
Offline Offline

Activity: 865
Merit: 1006


View Profile
April 04, 2015, 08:13:53 AM
 #6

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

Shawshank
Legendary
*
Offline Offline

Activity: 1623
Merit: 1608



View Profile
April 05, 2015, 07:51:30 AM
Last edit: April 05, 2015, 09:41:27 AM by Shawshank
 #7

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

Lightning Address: shawshank@getalby.com
xcbtrader (OP)
Hero Member
*****
Offline Offline

Activity: 865
Merit: 1006


View Profile
April 06, 2015, 01:20:03 PM
 #8

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

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!