Pages:
Author

Topic: Alguien sabe ejecutar generador de carteras en Pc? (Read 3584 times)

sr. member
Activity: 310
Merit: 253
Esa página de directory.io me recuerda a "El libro de arena", aquel cuento de Borges sobre un libro con infinitas páginas:

http://es.wikipedia.org/wiki/El_libro_de_arena_%28cuento%29
legendary
Activity: 1974
Merit: 1030
no entiendo eso, esos tios deberian hacer un buscador en la pagina.....

Primero busquen, luego pregunten…

http://directory.io/faq

Code:
Q: Can I search by private key?
A: Yes. @see API documentation.


puede ser que esten expuestas carteras que esten offline?

Están todas, offline y online.
sr. member
Activity: 289
Merit: 250
no entiendo eso, esos tios deberian hacer un buscador en la pagina.....



eso quiere decir que si alguien se equivocase y pusiese btc en una cuenta podriamos cojerlos facilmente.


puede ser que esten expuestas carteras que esten offline?
legendary
Activity: 1974
Merit: 1030
Hasta qué punto se sabe que esas private key sean reales?
Me suena haber leído que muchas de las que aparecían en esa lista eran falsas  Cheesy

La mayoría están "secas" y podrían ser perfectamente generadas por un bot que más tarde publicaría pubkey+privkey en esa base de datos  Smiley

Todas son reales, solo que directory.io es la única gente que las ha generado. Puede afirmarse razonablemente que solo hay una persona en el mundo que ha generado una clave determinada, dada la alta improbabilidad de colisiones (exceptuando problemas con los números aleatorios y tal, claro).
legendary
Activity: 1960
Merit: 1130
Truth will out!
Aquí estan todas las claves privadas de Bitcoin:

Hasta qué punto se sabe que esas private key sean reales?
Me suena haber leído que muchas de las que aparecían en esa lista eran falsas  Cheesy

La mayoría están "secas" y podrían ser perfectamente generadas por un bot que más tarde publicaría pubkey+privkey en esa base de datos  Smiley




hero member
Activity: 690
Merit: 500


Aquí estan todas las claves privadas de Bitcoin:

" Bitcoin private key database"

http://directory.io/

  Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Grin

Saludos


legendary
Activity: 1568
Merit: 1032
Beyond the flavor!
Buenas, lo que quiero es generar el mayor numero posible de direcciones privadas bitcoin usando el maximo de potencia del PC, con bitaddress.org no usa ni el 20% de la potencia del ordenador y luego las claves van en foramto csv junto con la clave publica, y solo busco la clave privada, la publica ya la sacare cuando la necesite.

nikkus, alguna forma de hacer que las guarde directamente en un archivo txt por ejemplo?

Saludos

Permiteme decir mmmm. Ese experimento suena un poquito extraño...
legendary
Activity: 1974
Merit: 1030
Hola, al ejecutar tu script dice error en linea 16 o sea aqui: my $read = sysread $fd, my $buf, 256/8 or die "sysread: $!";       y dice "bad file descriptor". Sabes si yo hago algo mal, o puede ser en script hay algun error ?

Ouch, este error es de novatos. Yo soy el novato Tongue.

Más que probablemente, el error es dos líneas más arriba, donde el sysopen, y es que no estoy comprobando si esto tiene éxito o no. Me da que está fallando, y el script sigue tan alegremente hasta que acaba petando más tarde.

Code:
    sysopen my $fd, '/dev/urandom', O_RDONLY or die "sysopen: $!";

Con este cambio te petará en la línea 14, y tendremos un error nuevo.

Pero si estás en güindons, ahórrate el esfuerzo: no hay /dev/urandom en güindons Tongue. Aunque por un pequeño incentivo le puedo añadir el generador de aleatorios Tongue.
member
Activity: 84
Merit: 10
Buenas, esto lo meto en un documento acabado en .sh y lo ejecuto en linux no?

.pl, no .sh, pero a efectos prácticos da igual. Es útil para que sepas el tipo de cada archivo nada más verlo. Como te decía, no necesitas linux, hay Perl para güindons.


Mete las las en un archivo de texto o hay que copiar a mano?

Code:
perl programa.pl >claves.txt

Con el ">" haces que la salida acabe en claves.txt.


Sorry por ser tan cerrado en estos temas.

Nadie nace sabido Wink.

Hola, al ejecutar tu script dice error en linea 16 o sea aqui: my $read = sysread $fd, my $buf, 256/8 or die "sysread: $!";       y dice "bad file descriptor". Sabes si yo hago algo mal, o puede ser en script hay algun error ?

Gracias.
legendary
Activity: 1974
Merit: 1030
Buenas, esto lo meto en un documento acabado en .sh y lo ejecuto en linux no?

.pl, no .sh, pero a efectos prácticos da igual. Es útil para que sepas el tipo de cada archivo nada más verlo. Como te decía, no necesitas linux, hay Perl para güindons.


Mete las las en un archivo de texto o hay que copiar a mano?

Code:
perl programa.pl >claves.txt

Con el ">" haces que la salida acabe en claves.txt.


Sorry por ser tan cerrado en estos temas.

Nadie nace sabido Wink.
legendary
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
Pensaba esta mañana que transformar ese programita en multicore es un ejercicio bastante interesante

Code:
use warnings;
use strict;
use Fcntl;
use Time::HiRes qw/time/;
use Parallel::ForkManager;

my $runtime = 5;  ## desired runtime, in seconds
my $nprocs = 0;

sub gen_pks {
    my ($npks) = @_;
    my @pks;
   
    sysopen my $fd, '/dev/urandom', O_RDONLY;
    for (1..$npks) {
        my $read = sysread $fd, my $buf, 256/8 or die "sysread: $!";
        die 'EOF' unless $read;
        warn 'short read' if 256/8 != length $buf;
        push @pks, $buf
    }
    close $fd;

    return \@pks;
}

sub ncpus {
    open my $fd, '<', '/proc/cpuinfo' or die "open: $!";
    my $ncpus = grep { /^processor/ } <$fd>;
    close $fd;
    return $ncpus;
}

my $t0 = time;
my $pm = Parallel::ForkManager->new ($nprocs or ncpus);
$pm->set_waitpid_blocking_sleep (0);
$pm->run_on_finish (sub {
    my $data = pop;
    printf "%s\n", unpack 'H*', $_ for @$data;
});

while (1) {
    last if time-$t0 > $runtime;
    $pm->start and next;
    $pm->finish (0, gen_pks 1e3);
}
$pm->wait_all_children;

En la línea del "my $runtime" indicamos cuánto tiempo queremos que esto se ejecute. En la siguiente línea indicamos el número de procesos concurrentes que queremos, idealmente el número de cores que tiene la máquina. En sistemas linux se puede dejar a 0 y se detecta solo.

Buenas, esto lo meto en un documento acabado en .sh y lo ejecuto en linux no?
Mete las las en un archivo de texto o hay que copiar a mano?

Sorry por ser tan cerrado en estos temas.
legendary
Activity: 1974
Merit: 1030
Pensaba esta mañana que transformar ese programita en multicore es un ejercicio bastante interesante

Code:
use warnings;
use strict;
use Fcntl;
use Time::HiRes qw/time/;
use Parallel::ForkManager;

my $runtime = 5;  ## desired runtime, in seconds
my $nprocs = 0;

sub gen_pks {
    my ($npks) = @_;
    my @pks;
   
    sysopen my $fd, '/dev/urandom', O_RDONLY;
    for (1..$npks) {
        my $read = sysread $fd, my $buf, 256/8 or die "sysread: $!";
        die 'EOF' unless $read;
        warn 'short read' if 256/8 != length $buf;
        push @pks, $buf
    }
    close $fd;

    return \@pks;
}

sub ncpus {
    open my $fd, '<', '/proc/cpuinfo' or die "open: $!";
    my $ncpus = grep { /^processor/ } <$fd>;
    close $fd;
    return $ncpus;
}

my $t0 = time;
my $pm = Parallel::ForkManager->new ($nprocs or ncpus);
$pm->set_waitpid_blocking_sleep (0);
$pm->run_on_finish (sub {
    my $data = pop;
    printf "%s\n", unpack 'H*', $_ for @$data;
});

while (1) {
    last if time-$t0 > $runtime;
    $pm->start and next;
    $pm->finish (0, gen_pks 1e3);
}
$pm->wait_all_children;

En la línea del "my $runtime" indicamos cuánto tiempo queremos que esto se ejecute. En la siguiente línea indicamos el número de procesos concurrentes que queremos, idealmente el número de cores que tiene la máquina. En sistemas linux se puede dejar a 0 y se detecta solo.
legendary
Activity: 1974
Merit: 1030
Genial, esto es para un script en linux verdad? que yo en todo esto estoy super perdido....

Hay Perl para güindons también, por ejemplo http://strawberryperl.com.

Pensaba esta mañana que transformar ese programita en multicore es un ejercicio bastante interesante, por desgracia hoy eché 11 horas en el curro…
legendary
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
Con Perl en mi cutre portátil se generan 50000 en un segundo:

Code:
use warnings;
use strict;
use Fcntl;

my $num_keys = 50e3;

sub gen_privkey {
    my ($fd) = @_;

    my $read = sysread $fd, my $buf, 256/8 or die "sysread: $!";
    die 'EOF' unless $read;
    return unpack 'H*', $buf;
}

sysopen my $fd, '/dev/urandom', O_RDONLY;
printf "%s\n", gen_privkey $fd for 1 .. $num_keys;
close $fd;

Lo echa por la terminal, pero rediriges a un archivo y listos. Se puede ejecutar varias veces para aprovechar bien la CPU, como han apuntado.

Si lo quieres en base58, pide Tongue. Solo tengo que hacer copy-paste pero ahora mismo me es tarde.

Genial, esto es para un script en linux verdad? que yo en todo esto estoy super perdido....
legendary
Activity: 1974
Merit: 1030
Con Perl en mi cutre portátil se generan 50000 en un segundo:

Code:
use warnings;
use strict;
use Fcntl;

my $num_keys = 50e3;

sub gen_privkey {
    my ($fd) = @_;

    my $read = sysread $fd, my $buf, 256/8 or die "sysread: $!";
    die 'EOF' unless $read;
    return unpack 'H*', $buf;
}

sysopen my $fd, '/dev/urandom', O_RDONLY;
printf "%s\n", gen_privkey $fd for 1 .. $num_keys;
close $fd;

Lo echa por la terminal, pero rediriges a un archivo y listos. Se puede ejecutar varias veces para aprovechar bien la CPU, como han apuntado.

Si lo quieres en base58, pide Tongue. Solo tengo que hacer copy-paste pero ahora mismo me es tarde.
legendary
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
Sip, aunque estas direcciones no servirían porque para bitcoin tiene que empezar por 5.
legendary
Activity: 1522
Merit: 1005
Buenas, lo que quiero es generar el mayor numero posible de direcciones privadas bitcoin usando el maximo de potencia del PC, con bitaddress.org no usa ni el 20% de la potencia del ordenador y luego las claves van en foramto csv junto con la clave publica, y solo busco la clave privada, la publica ya la sacare cuando la necesite.

nikkus, alguna forma de hacer que las guarde directamente en un archivo txt por ejemplo?

Saludos

¿Te refieres a un TXT en plan "bloc de notas" de windows?  Huh

Deja q lo mire, pero, de modo simple, no creo...
full member
Activity: 184
Merit: 100
Buenas, lo que quiero es generar el mayor numero posible de direcciones privadas bitcoin usando el maximo de potencia del PC, con bitaddress.org no usa ni el 20% de la potencia del ordenador y luego las claves van en foramto csv junto con la clave publica, y solo busco la clave privada, la publica ya la sacare cuando la necesite.

nikkus, alguna forma de hacer que las guarde directamente en un archivo txt por ejemplo?

Saludos

Hazte un programa en C que utilice todos los cores de tu CPU y genere números aleatorios sin parar. Ojo porque si escribes al mismo archivo desde múltiples hilos/procesos, te vas a encontrar con los datos mal escritos.

Otra opción, más sencilla pero más cutre, es un programa, en C igualmente, que solo use un core. Ejecútalo varias veces con la salida de cada instancia a un archivo separado. Al final junta todos los archivos. No va a haber repes Wink.

Puedes usar /dev/urandom, no necesitas números aleatorios fuertes para esto.

Y suerte en la búsqueda Wink.
legendary
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
Buenas, lo que quiero es generar el mayor numero posible de direcciones privadas bitcoin usando el maximo de potencia del PC, con bitaddress.org no usa ni el 20% de la potencia del ordenador y luego las claves van en foramto csv junto con la clave publica, y solo busco la clave privada, la publica ya la sacare cuando la necesite.

nikkus, alguna forma de hacer que las guarde directamente en un archivo txt por ejemplo?

Saludos
legendary
Activity: 1974
Merit: 1030
me gustaría saber cómo sacar la clave pública para recibir pagos sin exponerla (se me ocurre llevarla a un monedero de blockchain.info, pero dejaría de ser segura) y también preguntar si bastaría con encriptar la clave privada mediante
Code:
openssl aes-256-cbc -in privada.txt -out privencriptada.txt
para mantenerla segura.
También, por curiosidad, me gustaría saber cómo sería para que en vez de una te saque n claves privadas y agilizar el proceso, pudiendo dar a alguien varias direcciones que estarán en tu poder por si solicitar varios pagos.

Para todas esas cosas, lo suyo es que te instales un monedero de bitcoin, que hace todo eso y más. Si te pones en plan artesanal es cuestión de tiempo que lleguen los errores y las lágrimas. Por otro lado, el OP está únicamente interesado en claves privadas; tú en cambio pareces querer también direcciones. Para eso hay que invocar a los poderes de la curva elíptica, y eso ya no se hace sencillamente con un comando de la shell Smiley (excepto que una llamadita a openssl te lo dé hecho, pero no me suena haberlo visto nunca). Yo tengo algo en Perl+C, por si interesa.
Pages:
Jump to: