Code and programs
Every piece of code that runs the search for a key is open. The repositories below are grouped by what runs the search — graphics card, processor, phone or browser — plus the tools that feed them.
- Repositories
- 23
- Categories
- 5
- Stars
- 353
GPU 5
The same search inside a CUDA kernel. It is the fastest route: an NVIDIA card tests in a second what a processor takes minutes to test.
- cacagpu Searches for a challenge's private key on the GPU: secp256k1, SHA-256 and RIPEMD-160 all run inside the CUDA kernel while Go drives the search.
- cacachavecuda Cacachave ported to CUDA, with the key-range sweep running on the graphics card.
- words-breaker-gpu Recovers the order of 12 BIP-39 words by testing permutations on the GPU until one derives the known address.
- sha256gpu A CUDA implementation of SHA-256 — the first of the two hashes between a public key and an address.
- ripemd-160cuda A CUDA implementation of RIPEMD-160 — the second hash on the way to an address.
CPU 10
Searchers that run on the processor, in several languages. They need no graphics card, and they are where the algorithm is understood before moving to the GPU.
- btcgo The Go searcher: you pick a wallet from 1 to 160, it loads the range and tests keys until one matches the address.
- cacachave A translation of AlbertoBSD's keyhunt. Searches for keys on any coin using the secp256k1 curve, by address, hash160 or public key.
- btcfind-optimized btc-finder rewritten for speed: the same search, far less processor time per key.
- btc-finder The original Node.js code, written to show how the search works from the inside. This is where to start.
- btcc The searcher written in plain C, with no dependency beyond the compiler.
- btc-finder-using-c A version of btc-finder that hands key generation to a native C++ module, for the speed.
- btcgoai A Go searcher written with AI assistance, with tests and benchmarks for the search routine.
- btc-random Draws points from the range instead of sweeping it in order — the random strategy from btc-finder v0.4.
- words-breaker Recovers the order of 12 BIP-39 words by testing permutations on the processor until one derives the known address.
- btc163 Mask search: fills only the unknown positions of a key you already partly know.
Phone 1
The search running on the device already in your pocket.
Browser 1
The search with nothing to install: open the tab and go.
Tools 6
What feeds and checks a search: ranges, keys, seed phrases and odds.
- bitcoin-tools A web app with odds calculators, a range generator and the puzzle board.
- bip39tools BIP-39 scripts: private key from a seed phrase, checksum calculation and fresh wallet generation.
- btc-wif Generates the WIF-format key from a hexadecimal key, offline.
- btc-start Generates the starting values btc-finder uses to begin a sweep.
- btcpythonscripts Standalone Python scripts: public key from a private key, and pool work.
- coinmonk A BIP-39 calculator in the browser: turns indices into words and shows each one's neighbouring words.
This is a selection: only the repositories that have something to do with the challenges are listed here. The full profile, with everything else, is at github.com/lmajowka.