It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
qrencode -d 150 -s 4 -m 1 -o Address.png 7CAcAofsNQnwmFUTkvxdFWpVcR8ouRePfm
qrencode -d 150 -s 4 -m 1 -o PrivKey.png 8XSYDDmnnWfZ9CpaWTHkPhVrgFwqHfFbLEAsMKVb7vGny6tSmdp
#!/usr/bin/perl
use warnings;
use strict;
use File::Spec;
use Errno qw/EEXIST/;
use Getopt::Long;
my $vanitygen_cmd = '/path/to/vanitygen-0.10 -i -k -q 1bar';
my $qrencode_cmd = 'qrencode';
sub new_elem {
my ($fd) = @_;
my @lines;
for (1..3) {
my $line = <$fd>;
if (!defined $line) {
warn "read: $!";
return;
}
$line =~ s/^[^:]+: //;
chomp $line;
push @lines, $line;
}
return @lines;
}
sub _mkdir {
my ($dir) = @_;
if (!mkdir $dir) {
return 1 if EEXIST == $!;
warn "mkdir: '$dir': $!";
return;
}
return 1;
}
## vg000/00/0
## vg000/00/1
## vg000/01/0
## vg000/01/1
## vg000/02/0
## vg000/02/1
## [...]
## vg000/11/0
## vg000/11/1
## vg001/00/0
## vg001/00/1
sub create_dir {
my ($idx) = @_;
my $level3 = int ($idx%2);
my $level2 = sprintf '%02d', int (($idx/2)%12);
my $level1 = sprintf 'vg%03d', int ($idx/24);
my $level2full = File::Spec->catfile ($level1, $level2);
my $level3full = File::Spec->catfile ($level1, $level2, $level3);
_mkdir $level1 or return;
_mkdir $level2full or return;
_mkdir $level3full or return;
return $level3full;
}
GetOptions \my %opts, '--num-dirs=i', '--verbose' or die "usage: $0 [ --num-dirs N ] [ --verbose ]\n";
$opts{'num-dirs'} ||= 1;
my $limit = 24*$opts{'num-dirs'};
my $pid = open my $fd, "$vanitygen_cmd|" or die "fork/exec: $!";
my $idx = 0;
while (1) {
my ($pat, $addr, $privk) = new_elem $fd or last;
my $dir = create_dir $idx or last;
$opts{'verbose'} and printf "pat ($pat) addr ($addr) privk ($privk) idx ($idx) dir ($dir)\n";
system "$qrencode_cmd -o $dir/addr.png $addr";
system "$qrencode_cmd -o $dir/privkey.png $privk";
last if $limit <= ++$idx;
}
kill 'TERM', $pid;
close $fd;
$ ./qr-choco-gen.pl --num-dirs 4 --verbose
$ ./qr-choco-gen.pl -n 4 -v ## equivalente
$ ./qr-choco-gen.pl -n 100
vg000/00/0/privkey.png
vg000/00/0/addr.png
vg000/00/1/privkey.png
vg000/00/1/addr.png
vg000/01/0/privkey.png
vg000/01/0/addr.png
vg000/01/1/privkey.png
vg000/01/1/addr.png
[...]
vg000/11/0/privkey.png
vg000/11/0/addr.png
vg000/11/1/privkey.png
vg000/11/1/addr.png
vg001/00/0/privkey.png
vg001/00/0/addr.png
vg001/00/1/privkey.png
vg001/00/1/addr.png
0
1
10
11
2
3
[...]
./vanitygen -C 7cacao -i -k -q -s random.txt -o archivo.txt
Pattern: 7cacao
Address: 7CAcAofsNQnwmFUTkvxdFWpVcR8ouRePfm
Privkey: 8XSYDDmnnWfZ9CpaWTHkPhVrgFwqHfFbLEAsMKVb7vGny6tSmdp
Pattern: 7cacao
Address: 7CaCAoeFVBNcdCiu4Jcb77t6f3K8mMGSqJ
Privkey: 8X3ZvL3g9CJVSnjWsHwtTZxdjiqQvTJzgTYRWmF9zwauK3eQ4qj
Pattern: 7cacao
Address: 7CacAo56gnA3F7dstfXZX9T664gFcE7eSE
Privkey: 8YGjbiAi8hrvuvGMivbctZr47tJ5psBB6YHjbGiYyfs4A2E9s6e
Pattern: 7cacao
Address: 7CAcaocfb9NfzA9dPPBSA4YTbBTeFr4YWf
Privkey: 8We3VtYSt8iPa6rCc6iZtWUQi6Qgm5re3sEaNh3vq9rtd5q7TRt
Pattern: 7cacao
Address: 7CaCaopPYcUBcG4jp23hTuHm2WKciaxpyU
Privkey: 8WWSRb9MPkNajVbZG7pJhZWoVxQ6m9PbCxiwB1yrE75591PYBhm
7CAcAofsNQnwmFUTkvxdFWpVcR8ouRePfm
8XSYDDmnnWfZ9CpaWTHkPhVrgFwqHfFbLEAsMKVb7vGny6tSmdp
7CaCAoeFVBNcdCiu4Jcb77t6f3K8mMGSqJ
8X3ZvL3g9CJVSnjWsHwtTZxdjiqQvTJzgTYRWmF9zwauK3eQ4qj
7CacAo56gnA3F7dstfXZX9T664gFcE7eSE
8YGjbiAi8hrvuvGMivbctZr47tJ5psBB6YHjbGiYyfs4A2E9s6e
7CAcaocfb9NfzA9dPPBSA4YTbBTeFr4YWf
8We3VtYSt8iPa6rCc6iZtWUQi6Qgm5re3sEaNh3vq9rtd5q7TRt
7CaCaopPYcUBcG4jp23hTuHm2WKciaxpyU
8WWSRb9MPkNajVbZG7pJhZWoVxQ6m9PbCxiwB1yrE75591PYBhm
walletpassphrase "YourLongPassphrase" 600
importprivkey yourPrivateKeyInWalletImportFormat "TheLabelYouWant"