narcissist
easy peasy vanity addresses
NotesI just wrote this for fun, don't trust it with your Bitcoin life savings. If you find a way to break it, I'd love to know how
Also thank you luke-jr for the base58 encoding code, Pieter Wuille for the bech32 address encoding code, and nullius for creating segvan.
Current Features- Split key functionality so that untrusted parties can mine an address for you.
- Support for bech32 (segwit) addresses
- Easy to use
- Cross platform
Planned Features- Multi-threading
- Benchmarking/statistics
- Vanity address mining pool
- P2SH-P2WKH addresses
- Regex matching
UsageAllowed options:
--help print this message
-G [ --generate-keypair ] generate a keypair for split-key usage
-B [ --brute-address ] address generation mode
-C [ --combine-split-key ] split-key combination mode
-p [ --brute-address-prefix ] arg prefix for bruteforcing
-P [ --split-public-key ] arg public key, for split-key usage
-i [ --split-private-key ] arg private key, for split-key usage
-T [ --address-type ] arg (=bech32-p2wkh) p2pkh or bech32-p2wkh
ExamplesGenerate a bech32 address on your own$ ./narcissist-cli -B -p bc1pppp
Private: 0A094617E4D9E12A0EA354E7EB81FAB5A61AA0019E5B0288D19254CFD2D9A9D4
Address: bc1ppppumvcq7m282lx94ffjnrz53qszqjtcfze82z
WIF: L68rHUEpdUU1HgUVVEpShqGS7QhJqe8ap8G4D7vFxHEeo7WYYffZ
Generate a P2PKH address on your own$ ./narcissist-cli -B -p 123 -T p2pkh
Private: 2B48614E3CF6BFD713E84573B3420BC10B2A2B0CE9C17CEF003D1D1ADDD9DF52
Address: 123QHaY2YaVpfBZBsw45qxfUXgwPs22fiE
WIF: Kxfr56YJ5qa3JJeVuMD3aumkjdSdTbfAiTksHgwqsfWFZzbTA9ot
Generate a bech32 address with somebody else$ # generate a keypair for yourself
$ ./narcissist-cli -G
Public: 03C3172451E46BDED75697393A34B1942B15A4DBD34F3FCBA4D4583B521DF2BA82
Private: 6EE8D1E4959DF280DAF6D3D3833B5200F0738D726ACC24C3D611993D5E57F24B
$ # share the *public* key with somebody else and they can mine the address for you
$ ./narcissist-cli -B -p bc1ppppp -P 03C3172451E46BDED75697393A34B1942B15A4DBD34F3FCBA4D4583B521DF2BA82
Tweak: D4A7A845C3883D6849091217D285A7B3FF8866E1616F2A6A1739DA98FB2C5114
Address: bc1ppppp3mcw4dx7s5d8qsrn4rlwv60p44jegtqztj
$ # using the tweak value found on the miner's computer, combine it with the private key you generated at the start
$ ./narcissist-cli -C -i 6EE8D1E4959DF280DAF6D3D3833B5200F0738D726ACC24C3D611993D5E57F24B -P D4A7A845C3883D6849091217D285A7B3FF8866E1616F2A6A1739DA98FB2C5114
Public: 02BA6B4A75609F0C13E66FF637A6A8AD43716CEE858C5A45C3752A36B5A9117D8F
Private: E3914642CA1D8156EADE35623AEBF03FF9DAE6318626A5F0082097E7287C025D
Address: bc1ppppp3mcw4dx7s5d8qsrn4rlwv60p44jegtqztj
WIF: LDRhihu74uQeF8rN7Ehuhiw5S5D4fBu3Gkxbr7BUDP5k4mxWytu2
Download v0.1.0This threadPost some public keys and
short prefixes here, maybe somebody will mine them for you.