• econoalchemist

Bitcoin wallets for beginners - Part IV.

This article is Part IV of a five part series designed to demonstrate to Bitcoin beginners how to install and use a Bitcoin wallet. This part of the series covers installing Sparrow Wallet on Desktop. This can also be viewed on Bitcoin Magazine's website here.

If you have an desktop computer, then I highly recommend using Sparrow Wallet. This article will walk you through the basic steps for installing, securing, and using Sparrow Wallet on desktop. Sparrow is meant to connect to your own Bitcoin node, if you don't have a node setup already then check out this guide by @BitcoinQ_A and also this guide is a great resource for Sparrow Wallet. Before getting started it is a good idea to have a pen & paper ready. Remember to start with small amounts of bitcoin until these concepts make more sense and you are comfortable putting your funds in a mobile wallet. And always backup your seed phrase!


You can skip to the other parts of the tutorial with the links below:

Part I: The Importance of Self-Custody & the Dangers of KYC

Part II: Samourai Wallet on Android

Part III: Blue Wallet on iPhone

Part V: Buying non-KYC bitcoin with Bisq


Step 1: Install Sparrow Wallet

Sparrow wallet is a desktop software application that is designed to be used with your own Bitcoin full node. In this example, I connect it to my RaspberryPi Bitcoin full node running Bitcoin Core. Sparrow Wallet can be downloaded form: https://sparrowwallet.com/



It’s good practice to verify any software you download. I used Kleopatra. Verifying PGP signatures goes beyond the scope of this article, but it is a way that you can verify you are downloading the purported software. For good software verification guides check here & here for the basic concepts.


The TL;DR is: import the developers public key. Download the signed hash value. Verify the signature. Calculate the hash value on the executable file. And compare the checksums. When finished you should have a verified confirmation like this:



Now I know that the hash values contained in the signed file are valid. Then I can compare those hash values to the .exe file I downloaded. If the signed hash value matches mine then I can run the executable file in confidence.


d192d2199ef412aa9fbeb8c088b3167e5504315c0c3b3e0d563b581c4b1a21d4 *Sparrow-1.1.0.dmg
16105c0211aaa48035e9252d83f535b43056beb5f9af81e1735ceb2611b167ae *Sparrow-1.1.0.exe
29aa7cde1bfeac94e5c36f22282d0df25cbb5298df6d54375cca71fa9d76d726 *Sparrow-1.1.0.zip
d8d38626a47043d29e838472ad4a9721d3234f071fab7a8a3d3818a916f069f4 *sparrow-1.1.0-1.x86_64.rpm
1951239513265ec97556e63e5f320fb5bdfcdb37ac3803e5ce466f9e3b08d005 *sparrow-1.1.0.tar.gz
76f138e2bdda6511d1435a77352f215b313604703ff7e06739f81eb0984f71bf *sparrow_1.1.0-1_amd64.deb


Step 2: Configuration

Once installed, toggle to offline mode and select “Configure Server”.



Next, you can configure the General settings like Bitcoin unit, preferred fiat currency, coin selection, & notifications.



Then in the Server settings section, you will want to enter your Bitcoin nodes local IP address and username/password.


If you haven't done so already, this information first needs to be set up in your Bitcoin.conf file. Typically accessible by running the following command from the same folder you have Bitcoin installed in the terminal on your RaspberryPi:

sudo nano bitcoin.conf

Once in your bitcoin.conf file, make sure you take the hashtag (#) off of your rpcuser & rpcpassword, set them accordingly however you want.


You should be able to find your RaspberryPi local network IP address by logging into your router. Then make sure you have your local IP address notated so you can enter the following information in the bitcoin.conf file:

rpcbind=127.0.0.1
rpcbind=192.168.0.11 (your node)
rpcallowip=127.0.0.1
Rpcallowip=192.168.0.12 (desktop)


After editing your bitcon.cong file, save your changes, then you will need to restart Bitcoin.


Then once it is back up & running, use the same rpcbind IP address as the URL with 8332 as the port. And use the same User/Pass that you entered in the bitcoin.conf file. Test the network connection from Sparrow Wallet. If it’s good, you should see the green check mark next to "Test Connection" and some information populated in the dialog box below that. Then select “Create New Wallet”.


If you get an error, you’ll have to shut down Bitcoin, edit the configuration file, start Bitcoin, and try testing again. It took me a few tries to get everything correct because I'm not very good at network configurations.


More details can be found on Sparrow Wallet's website here.




Step 3: Wallet Setup

Sparrow Wallet has several wallet configuration options available. You can use Sparrow Wallet to connect a hardware wallet, an air-gapped wallet, and a watch-only wallet. You can choose different script types if you want legacy addresses that start with "1" or nested-segwit addresses that start with "3". You can also set up multi-signature policy types. There is a lot of options.


To make a new single signature P2WPKH (Native Segwit) wallet, addresses that start with "bc1" select “New or Imported Software Wallet”.



On the next screen, you can select how many words you want in your seed phrase. I recommend just sticking with 24 seed words.


Then select “Generate New”.




Step 4: Secure your Seed Phrase

Sparrow Wallet will generate your 24-words and then you can add a passphrase.


I recommend using a strong, hi-entropy passphrase that cannot be guessed easily like this one. Others may suggest using a passphrase that can be easily memorized. Weigh the tradeoffs for yourself and do what is best for you. Whatever you choose, remember that this passphrase will be necessary to recover your wallet in the event that your desktop is lost, damaged, or replaced.


*This is the most important step


a) Write down your words in order on a piece of paper.

b) Secure this piece of paper as if as though it were gold or jewelry.

Do not screen-shot these words.

Do not save these words in a computer or on your phone.

Do not say these words out loud.

Never share these words with anyone for any reason.

Your bitcoin is only as secure as your 24-words & passphrase.

c) Double check your work.

d) You will also need your passphrase from above for a complete secure backup.


Then select “Confirm Backup” and then you will be asked to re-enter all of your words and passphrase to verify you wrote them down.


You will need all of your seed words in the correct order and your passphrase to restore your wallet.

*Once you get more serious about Bitcoin, consider securing your seed phrases in metal instead of on paper.


Step 5: Finalize

On the next screen, you will be asked if you want to use the default derivation path. I recommend leaving the derivation path as the standard m/84’/0’/0’.


Then select “Import Keystore”.


After the import is complete, make note of the Master Fingerprint. This is how you can confirm you have restored the correct wallet in the future. This finger print is unique to your wallet accessed by your 24-words + passphrase.


Then select “Apply”.


You will also be asked to name your wallet and set an optional wallet password. The password is what encrypts your wallet file on your computer. This is different than your passphrase which acts as a "25th word" for your wallet seed phrase.

Your node will automatically scan your new wallet to see if you have any funds. Once your node is done scanning your new wallet, you can start generating receive address and get some bitcoin.





Step 6: Receive bitcoin

Wait until your node is finished scanning. Then by navigating to the "Receive" tab, you can select the "Get Next Address" button to generate your first receiving address. Now you can scan your QR code with your mobile wallet or copy/paste the address and send it to someone for payment. Sparrow Wallet displays additional information about your address like the derivation path, the script, and the descriptor.



I sent some bitcoin from one of the mobile wallets in the previous guides. Once your receipt is confirmed, you can see all kinds of details about your transaction.


Sparrow is like it’s own block explorer using your node.


You can also explore the inputs in further detail:


You can also explore the outputs in further detail:



Step 7: Send bitcoin

Once you’re ready to spend, navigate to the "Send" tab. There you can add several receivers in the same transaction by either copy/pasting the receivers Bitcoin address or by activating your computers camera to scan a Bitcoin address QR code.


You can add a label if you like.


Enter the amount you wish to spend.


You can easily slide the miners fee to where you want it.


Sparrow Wallet maps out a little graph with the mempool.space data as well to help you estimate how fast your transaction will be included in the blockchain. There is a little transaction connection graph displayed as well.


Once everything looks good, select “Create Transaction”.


On the next screen, review the details.


You can even add a transaction delay based on block height or date.


Once ready, select the "Finalize Transaction for Signing" button.


Then select the "Sign" button and enter your wallet password, if you enabled this feature.




Once signed, the transaction is ready to be broadcast. Select the "Broadcast Transaction" button to send it to the Bitcoin network.


Once broadcast, your node will send the transaction to other nodes on the Bitcoin network until it gets pulled out of the mempool and mined into a block.



Conclusion:

Sparrow Wallet is a beautifully designed Bitcoin wallet packed full of features. This wallet supports single-sig or multi-sig, multiple address types, multiple node connection options, coin control, transaction labeling, Tor is built in, and it supports Testnet. Additionally, Sparrow Wallet supports Partially Signed Bitcoin Transactions (PSBT). With PSBT you can import your hardware wallet xpub and use Sparrow Wallet as a watch-only wallet. This allows you to monitor the balance on your hardware wallet more conveniently as well as generate receiving addresses for your hardware wallet. Watch-only wallets cannot spend from your hardware wallet so your funds are always secure. When you want to spend from your hardware wallet, like Cold Card for example, you can enter the watch-only wallet in your Sparrow Wallet application, construct the spend transaction, and then export it as a PSBT. Then you can load this PSBT into your Cold Card via the MicroSD card option and sign the transaction with your Cold Card's private key. Once signed, the transaction can be past back to your Sparrow Wallet and broadcast to the network. Plus it has an integrated blockchain explorer powered by your own node. There is too much to unpack in this article, but check out Sparrow Wallet's full feature page here.


There is a great Best Practices guide on Sparrow Wallet's website here.


To learn more about Sparrow Wallet, jump in their Telegram group here.


To hear what's up directly from the source, check out this episode of Citadel Dispatch by @matt_odell featuring Sparrow Wallet's lead developer, @craigraw and yours truly, @econoalchemist:



Part V: Buying non-KYC bitcoin

Thanks for reading! I hope that this article helped you understand the basics of installing, securing, and using Sparrow Wallet on desktop. Be sure to check out Part V for suggestions on buying non-KYC bitcoin.


If you enjoyed this content, leave me a tip here: Donate.


This article can be found on Twitter as a thread here.


1,238 views