Skip to content

A web tool for converting BIP39 mnemonic codes

License

Notifications You must be signed in to change notification settings

DecenomyTools/bip39

 
 

Repository files navigation

BIP39 Tool

A tool for converting BIP39 mnemonic phrases to addresses and private keys.

Online Version

https://iancoleman.io/bip39/ (v0.5.4)

DECENOMY version coming soon.

Standalone offline version

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

Usage

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.

Donations

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

alt text

Making changes

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

Adding DECENOMY Coins

  1. Obtain an address of the coin and a private key of the coin (any will do).

  2. 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.

  3. Update src/bitcoinjs-extensions.js with a new element for the coin, updating the pubKeyHash with the public address prefix and wif with the private key prefix.

  4. 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 with hdkeypath set.

     E.g. `hdkeypath=m/44'/832'/0'/1'/83'`. The coin index is the second value, 832, in this case SAPP. 
    
  5. Once you extracted the coin index, update src/index.js with an entry for the coin and updated coin index at setHdCoin();.

  6. Save files and compile.

Tests

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

License

This BIP39 tool is released under the terms of the MIT license. See LICENSE for more information or see https://opensource.org/licenses/MIT.

About

A web tool for converting BIP39 mnemonic codes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 88.1%
  • HTML 10.5%
  • Other 1.4%