tiozes (OP)
Legendary
Offline
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
|
|
April 21, 2015, 01:53:19 PM |
|
Buenas a todos, quiero ejecutar un generador de carteras en un pc y no se como hacerlo, todo lo que encuentro es en web, a ver si alguien sabe como hacerlo, tengo que generar unas pocas para un experimiento.
saludos
|
|
|
|
|
|
|
|
No Gods or Kings. Only Bitcoin
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
tiozes (OP)
Legendary
Offline
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
|
|
April 21, 2015, 05:20:48 PM |
|
Buenas, busco algo similar, pero que me genere solo claves privadas y si ni es en formato csv mejor que mejor, pero esta complicado de encontrar.
|
|
|
|
Shawshank
Legendary
Offline
Activity: 1623
Merit: 1608
|
|
April 21, 2015, 07:32:48 PM Last edit: January 23, 2016, 07:24:02 PM by Shawshank |
|
Buenas, busco algo similar, pero que me genere solo claves privadas y si ni es en formato csv mejor que mejor, pero esta complicado de encontrar.
Estaría bien que explicaras un poco mejor qué es lo que quieres. Entiendo que quieres generar un número arbitrario de claves privadas en un PC sin internet. La mejor forma que conozco: 1) Conéctate a https://github.com/pointbiz/bitaddress.org , pulsa en "Download ZIP" y descarga el código. 2) Copia el zip anterior en un pendrive y transfiérelo al PC que no se conecta nunca a internet. 3) Descomprime el zip en ese PC sin conexión, (si estás trabajando con Tails, deberás copiarlo en el directorio "Tor Browser"), y haz doble click en el fichero bitaddress.org.html 4) Mueve el ratón para generar aleatoriedad. 5) Pulsa en la pestaña "Bulk Wallet" y en "Rows to generate" teclea el número de claves privadas que quieres. Por ejemplo, 1000. ¡Ya está!
|
|
|
|
EcuaMobi
Legendary
Offline
Activity: 1862
Merit: 1469
https://Ecua.Mobi
|
|
April 22, 2015, 05:04:28 AM |
|
Otra opción es vanitygen si el objetivo es ejecutar una aplicación nativa y no una página web (javascript). vanitygen64.exe -k -o direcciones.txt 1 Por seguridad se puede agregar una contraseña: vanitygen64.exe -e -k -o direcciones.txt 1 > Enter new password:
Básicamente lo que se hace es generar direcciones de vanidad excepto que la única condición es que empiecen con '1'.
|
|
|
|
nikkus
Legendary
Offline
Activity: 1522
Merit: 1005
|
|
April 22, 2015, 06:59:13 AM |
|
Buenas, busco algo similar, pero que me genere solo claves privadas y si ni es en formato csv mejor que mejor, pero esta complicado de encontrar.
Pues...Si tienes Linux, abre la terminal y pon eso: od -An -N32 -xw /dev/random Sacas os espacios y tienes una clave privada..
|
1NikkusCFVtadafW15HZw3up9xo23fi5UD
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
April 22, 2015, 09:26:10 AM |
|
od -An -N32 -xw /dev/random Sacas os espacios y tienes una clave privada.. ¿Por qué sacar los espacios a mano? od -An -N32 -xw /dev/random |tr -d ' '
|
|
|
|
mantas
|
|
April 22, 2015, 10:00:36 AM |
|
od -An -N32 -xw /dev/random Sacas os espacios y tienes una clave privada.. ¿Por qué sacar los espacios a mano? od -An -N32 -xw /dev/random |tr -d ' ' No tenía ni idea de este procedimiento, y es de lo más sencillo (para pagos rápidos y privados). Al menos a mí me lo parece, aunque 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 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. Seguro que es algo muy sencillo pero estoy comenzando a manejarme con la consola y no se me da muy bien, para entender lo de encriptar y desencriptar desde terminal me pasé toda una mañana.
|
|
|
|
nikkus
Legendary
Offline
Activity: 1522
Merit: 1005
|
|
April 22, 2015, 11:00:00 AM |
|
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. Seguro que es algo muy sencillo pero estoy comenzando a manejarme con la consola y no se me da muy bien, para entender lo de encriptar y desencriptar desde terminal me pasé toda una mañana.
De un modo MUYYYYYYYYY sencillo, OJO! no dudo que haya algún otro mas sencillo todavía! #!/bin/bash echo Cuantas clavs hay que generar read clav conta=0 while [ $conta -lt $clav ]; do od -An -N32 -xw /dev/random |tr -d ' ' let conta=conta+1 done
|
1NikkusCFVtadafW15HZw3up9xo23fi5UD
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
April 22, 2015, 11:53:17 AM |
|
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 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 (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.
|
|
|
|
tiozes (OP)
Legendary
Offline
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
|
|
April 22, 2015, 01:34:46 PM |
|
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
|
|
|
|
norwick
|
|
April 22, 2015, 04:53:08 PM |
|
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 . Puedes usar /dev/urandom, no necesitas números aleatorios fuertes para esto. Y suerte en la búsqueda .
|
|
|
|
nikkus
Legendary
Offline
Activity: 1522
Merit: 1005
|
|
April 22, 2015, 05:40:16 PM |
|
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? Deja q lo mire, pero, de modo simple, no creo...
|
1NikkusCFVtadafW15HZw3up9xo23fi5UD
|
|
|
tiozes (OP)
Legendary
Offline
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
|
|
April 22, 2015, 06:08:23 PM |
|
Sip, aunque estas direcciones no servirían porque para bitcoin tiene que empezar por 5.
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
April 22, 2015, 11:17:41 PM |
|
Con Perl en mi cutre portátil se generan 50000 en un segundo: 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 . Solo tengo que hacer copy-paste pero ahora mismo me es tarde.
|
|
|
|
tiozes (OP)
Legendary
Offline
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
|
|
April 23, 2015, 11:47:17 AM |
|
Con Perl en mi cutre portátil se generan 50000 en un segundo: 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 . 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....
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
April 23, 2015, 08:39:05 PM |
|
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…
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
April 25, 2015, 09:48:04 PM |
|
Pensaba esta mañana que transformar ese programita en multicore es un ejercicio bastante interesante
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.
|
|
|
|
tiozes (OP)
Legendary
Offline
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
|
|
April 26, 2015, 11:10:42 PM |
|
Pensaba esta mañana que transformar ese programita en multicore es un ejercicio bastante interesante
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.
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
April 27, 2015, 06:16:34 AM |
|
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? 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 .
|
|
|
|
|