/seedtool

bitcoin,address,seed,mnemonic

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Bitcoin Seed Tool

This tool offers a space for bitcoiners to experiment and learn how bitcoin wallets are generated using different sources of entropy (randomness). The page also offers many other seed related functionalites, some of which are outlined below. The online version can be found at https://bitcoiner.guide/seed.

Offline Usage

NEVER use the online version of this tool to create or interact with seeds used to manage real bitcoin. While there is nothing in this tool that collects private information or sends it anywhere, there may be other software on your device that does. If the tool detects a network connection, it will display a network symbol in the top corner of the screen.

To use this tool offline, use the download link in the online version or download the index.html from the releases page.

Usage

Some common use cases for this tool include:-

  • Learning how entropy is used to derive wallet components
  • Generating seeds via dice rolls, coin flips or playing cards
  • Verifying entropy inputs (dice rolls etc) applied to external wallets or signers
  • Generating BIP85 child seeds (or check those generated by a signing device)
  • Generating BIP47 payment codes and their corresponding PayNym avatars
  • Generating BIP47 addresses between any two payment codes
  • Verifying wallet address generation from a given seed/passphrase combination
  • Testing for a forgotten/incorrect passphrase (if you know a receive address)

Donations

If you find this page useful, consider donating some sats to the lead developer SuperPhatArrow or to any of the open source libraries this tool was built on top of.

Development

Install nodejs

Make sure nodejs is installed:

node --version

If not, I recommend Node Version Manager (nvm). Then use nvm to make sure you are using the latest LTS version:

nvm install --lts
nvm use --lts

Install development dependencies

In the root directory of the project type:

npm i

Ready to code

In the root directory of the project type:

npm run dev

Open browser to http://localhost:3000/ change files in your code editor of choice and the webpage will reload on save of files in the src folder.

If you get an error that port 8080 is still in use, you can kill the process with this command:

npx kill-port 8080

After that you should be able to start the development script with:

npm run dev

Build

npm run build

Builds the output html file to the dist directory for distribution

GIT add, commit and push

MSG="Added this awesome new feature" npm run git

Will run the build script and push your changes to git