A tool for converting BIP39 mnemonic phrases to addresses and private keys.
https://iancoleman.io/bip39/ (v0.5.4)
DECENOMY version coming soon.
Download bip39-standalone.html
from
the releases.
Open the file in a browser by double clicking it.
This can be compiled from source using the command python compile.py
Enter your BIP39 phrase into the 'BIP39 Phrase' field, or press 'Generate Random Phrase'
If required, set the derivation path, although the defaults are quite usable.
See the table for a list of addresses generated from the phrase.
Toggle columns to blank to easily copy/paste a single column of data, eg to import private keys into a wallet or supply someone with a list of addresses.
The BIP32 keys can be used at bip32.org if desired.
Since this project is the efforts of many people, most of which don't appear in the obvious places like code or issues, donating to the project itself causes significant operational difficulties.
As a result, if you would like to support this project financially you are encouraged to donate to one of the many groups that makes the internet a place amenable to projects such as this one.
Donation-accepting organizations and projects
If the list is too difficult to choose from, the EFF is a good choice.
Electronic Frontier Foundation
or for a direct bitcoin address, consider donating to the Free Software Foundation at 1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4UN
Please do not make modifications to bip39-standalone.html
, since they will
be overwritten by compile.py
.
Make changes in src/*
.
Changes are applied during release using the command python compile.py
, so
please do not commit changes to bip39-standalone.html
-
Obtain an address of the coin and a private key of the coin (any will do).
-
Use http://lenschulwitz.com/base58, or any other base58 decoder to extract the HEX prefix of both the decoded private key and public address. The prefix will be the first byte (or first two characters) of the decoded output.
-
Update
src/bitcoinjs-extensions.js
with a new element for the coin, updating thepubKeyHash
with the public address prefix andwif
with the private key prefix. -
Now run
dumpwallet
command on the coin wallet. You can run this on any wallet.dat file (a new empty wallet.dat is recommended). From the output, you can check what the coin index the team set for that coin in one of lines withhdkeypath
set.E.g. `hdkeypath=m/44'/832'/0'/1'/83'`. The coin index is the second value, 832, in this case SAPP.
-
Once you extracted the coin index, update
src/index.js
with an entry for the coin and updated coin index atsetHdCoin();
. -
Save files and compile.
Tests depend on
- nodejs
- selenium webdriver - cd /path/to/bip39/tests; npm install
- selenium driver for firefox (geckodriver) and / or chrome (chromedriver)
- jasmine - npm install --global jasmine
Before running tests, the site must be served at http://localhost:8000.
$ cd /path/to/bip39/src
$ python -m http.server
or for python2
$ python -m SimpleHTTPServer
Run tests from the command-line
$ cd /path/to/bip39/tests
$ jasmine spec/tests.js
This BIP39 tool is released under the terms of the MIT license. See LICENSE for more information or see https://opensource.org/licenses/MIT.