DEV Community

loading...
Cover image for Bitcoin Wallet in Python

Bitcoin Wallet in Python

nownodes profile image NOWNodes ・2 min read

In this article, we will create a bitcoin HD (Hierarchical Deterministic) wallet using python language. To learn how HD wallet works, you can check this article.

Prerequisite

  • Python
  • Basic understanding of programming

Download and install python’s latest version from its official website.

We need to install a python library called bitcoinlib to create and manage bitcoin wallets. To install the library run following command.

pip install bitcoinlib

Bitcoin HD Wallet with Python

Using HD wallets, we can generate a complete suite of crypto wallets for different cryptocurrency networks using just one seed. However, in today’s article, we will only focus on Bitcoin and how to create a simple HD wallet.

So let’s create our first Bitcoin HD wallet.

from bitcoinlib.wallets import HDWallet
wallet = HDWallet.create('Wallet1')
key1 = wallet.new_key()
print(key1.address)

In the above script, we are performing the following steps:

  • Importing bitcoinlib library
  • create a new wallet
  • Generating a new HD Key.
  • Create a new address

To run the above program, save it in a file with .py extension. (Ex- hd_wallet1.py). Then run that file using the command below.

Bitcoin HD Wallet with Mnemonics

Mnemonics are very popular because they are easy to remember. Let’s see how to create a Bitcoin wallet using mnemonics.

from bitcoinlib.wallets import HDWallet, wallet_delete
from bitcoinlib.mnemonic import Mnemonic
passphrase = Mnemonic().generate()
print(passphrase)
wallet = HDWallet.create("mWallet1", keys=passphrase, network='bitcoin')
key1 = wallet.new_key()
print(key1.address)

In the above script, we are performing the following steps.

  • Importing relevant classes from bitcoinlib
  • Generating a random mnemonic, you can pass your own
  • Creating a new wallet named mWallet1
  • Generating keys
  • Getting bitcoin public address

To run this program, save it in a file with .py extension. (Ex- hd_wallet2.py). Then run that file using the command below.

python hd_wallet2.py

To learn more about the bitcoinlib library check out the official documentation.

Note: Never post your keys or mnemonic publically.

Discussion

pic
Editor guide