Difference between revisions of "Deterministic wallet tools"

From Bitcoin Wiki
Jump to: navigation, search
(Offline Command-line software)
m (Offline Command-line software)
Line 18: Line 18:
  
 
* [https://github.com/trezor/python-mnemonic python-mnemonic]: Reference implementation of BIP-0039: Mnemonic code for generating deterministic keys
 
* [https://github.com/trezor/python-mnemonic python-mnemonic]: Reference implementation of BIP-0039: Mnemonic code for generating deterministic keys
* [https://github.com/dan-da/hd-wallet-derive hd-wallet-derive]: A command-line tool that derives bip32 addresses and private keys from bip32 extended keys or mnemonic, and can generate new master keys as well.  Many altcoins supported.
+
* [https://github.com/dan-da/hd-wallet-derive hd-wallet-derive]: A command-line tool that derives bip32 addresses and private keys from bip32 extended keys or mnemonic, and can generate new master keys as well.  Supports segwit (p2sh,bech32) and hundreds of altcoins.
 
* [https://github.com/dan-da/hd-wallet-addrs hd-wallet-addrs]: A command-line tool for finding bitcoin hd-wallet addresses that have actually received funds, including change addresses.  (note: key derivation occurs offline, but funds lookup requires internet connection.)
 
* [https://github.com/dan-da/hd-wallet-addrs hd-wallet-addrs]: A command-line tool for finding bitcoin hd-wallet addresses that have actually received funds, including change addresses.  (note: key derivation occurs offline, but funds lookup requires internet connection.)
 
* [https://github.com/vbuterin/pybitcointools pybitcointools]: Simple, common-sense Bitcoin-themed Python ECC library.  by Vitalik Buterin.
 
* [https://github.com/vbuterin/pybitcointools pybitcointools]: Simple, common-sense Bitcoin-themed Python ECC library.  by Vitalik Buterin.

Revision as of 06:17, 19 July 2018

List of tools/services for working with Hierarchical Deterministic Wallets, aka hd-wallets aka bip32 wallets.

Tools listed on this page can typically perform some form of key derivation and list hd-wallet addresses.

Warning: You should never give an online service your master extended private key (xprv) as they could use it to drain your entire wallet. Even sharing an extended public key entails risks. If using an online hosted javascript tool, be careful to work with it offline only.

See also Deterministic Wallet.

Online Services

  • bip32.org: A tool for displaying information derived from bip32 extended key, or nmenonic phrase. Appears to list only the first address.
  • Mnemonic Code Converter: A tool for listing keys and addresses from a bip32 mnemonic phrase. The tool can be saved as a file and used without any internet connection.
  • WebHDWallet: Implementing the Hierarchical Deterministic Wallet proposal BIP32, with the aim of creating easy to use, secure, and powerful tools for managing HD wallets and the funds within.
  • mybitprices.info: A tool that can derive all used wallet addresses from an extended public key and can further lookup historic price information for all wallet transactions and create gain/loss reports.
  • bitcore playground: Derive HD keys from a private or public extended key and a path.

Offline Command-line software

  • python-mnemonic: Reference implementation of BIP-0039: Mnemonic code for generating deterministic keys
  • hd-wallet-derive: A command-line tool that derives bip32 addresses and private keys from bip32 extended keys or mnemonic, and can generate new master keys as well. Supports segwit (p2sh,bech32) and hundreds of altcoins.
  • hd-wallet-addrs: A command-line tool for finding bitcoin hd-wallet addresses that have actually received funds, including change addresses. (note: key derivation occurs offline, but funds lookup requires internet connection.)
  • pybitcointools: Simple, common-sense Bitcoin-themed Python ECC library. by Vitalik Buterin.
  • python-trezor: Client side implementation for TREZOR-compatible Bitcoin hardware wallets.

Risks associated with sharing extended keys with a third party

Risks of Sharing an Extended Private Key (xprv) DO-NOT-DO-THIS!!!

  1. The recipient can spend (steal) all your wallet funds.
  2. The recipient can obtain all your wallet keys and addresses, private and public.
  3. The recipient can identify and view all your historic transactions.
  4. The recipient can link all your wallet transactions together, possibly linking anonymous transactions with those associated with your identity.

Risks of Sharing an Extended Public Key (xpub)

In general it is safest NOT to share an extended public key.

  1. The recipient can obtain all your wallet public keys and addresses, but not your private keys.
  2. The recipient can identify and view all your historic transactions.
  3. The recipient can link all your wallet transactions together, possibly linking anonymous transactions with those associated with your identity.
  4. If, and only if, the recipient also obtains a single private key from your wallet, the recipient can obtain all your private keys and steal your funds, just as if they had your xprv key.