Desktop signing app
We install Sparrow Wallet on a computer and connect it to your Electrum server on your node for private bitcoin on-chain transactions.
Introduction
Sparrow Wallet is an excellent software signing device to use with your Microbolt: it’s reliable and transparently shows what it’s doing under the hood.
You can also use the following alternatives instead of Sparrow Wallet, according to your preferences and needs:
- Electrum Wallet Desktop: a well-established poweruser wallet
- Specter Desktop: a multisig-focused wallet (this wallet connects directly to Bitcoin Core)
- BitBoxApp: wallet for users of BitBox hardware signing devices
We will connect Sparrow Wallet to our own Electrum server as it is the most private option. For more information about the privacy and security trade-offs of the various server connection options, read the following article by Craig Raw, the author of the software.
We will set up Sparrow to connect to the Electum server within your local network. There is also an optional section that explains how to connect Sparrow to the Electrum server using Tor for when you’re on the move.
Sparrow also connects to a couple of external services to get the Bitcoin price and communicate with the Whirlpool server during CoinJoin operations. By default, it uses clearnet which leaks your computer IP address to these services and degrade your privacy. However, Sparrow can also connect to them using a Tor proxy. There is an optional section that explains how to set this proxy up.
Installation
On your local computer, download, verify and install Sparrow Wallet.
- Using the instructions on this page:
- Download the required version for your OS
- Download the manifest and manifest signature files
- Verify the release
- Install Sparrow Wallet
Connection
We now configure Sparrow to connect to your node within your local network.
Launch Sparrow
- Launch Sparrow
- Read carefully the introductory messages and click on “Next” several times
- When you reach the “Connecting to a Private Electrum Server” message, click on “Configure Server”
Connect to Electrum server
- Click on the “Private Electrum” tab
- On the “URL” line, paste
nakamoto01
,nakamoto01.local
or your node IP (e.g.,192.168.X.Y
) in the first box and50002
in the second box - Enable SSL by clicking on the slider
- Click on “Test Connection”. A green tick should appear on the button and you should see something similar to the following output:
Connected to [...] on protocol version 1.4
[...]
If there is a connection error message, try the following troubleshooting:
- Make sure that your computer is not connected to any “guest” WiFi network at home. A “guest” WiFi network prevents the computer to connect to any other devices on the local network, such as your node.
- If you have used Sparrow Wallet before on this computer, try to connect again
after deleting the existing certificates that are stored within the
certs
folder:
%AppData%\Sparrow\certs
Let’s go back to the signing app and check that it is connected to our own Electrum server.
- Close the server configuration window
- Check the icon in the bottom right corner of the window status icon
- The icon should be a blue slider button and a mouse over should display
Connected to ssl://nakamoto01:50002 at height [...]
🎉 You’re set! Sparrow is now configured to connect to your Electrum server from within your local network.
For maximal privacy, we highly recommend that you set up the Tor proxy when using Sparrow within your local network over clearnet.
Remote connection over Tor
If you want to use Sparrow outside your home network, when you’re on the go, you can use a connection over Tor.
Server Tor address
To connect via Tor to Electrum, the server must have a Tor hidden service connection address. Make sure you have set up a Tor hidden service as explained in the “Electrum server” guide.
If you’ve already set up the hidden service but lost the connection address, you can obtain it again by running the following command on your node:
$SU cat /var/lib/tor/electrum/hostname
abcd...1234.onion
Sparrow configuration
- Open Sparrow
- Navigate to the server configuration page by hitting
<Ctrl><P>
or<Cmd><,>
on macOS, then click on “Server” - Click on the “Private Electrum” tab. If you’ve already have an existing clearnet connection, click on “Edit Existing Connection”.
- On the “URL” line, paste your Tor hidden service connection address (e.g.
“abcd…1234.onion”) in the first box and
50002
in the second box - Enable SSL by clicking on the slider
- Click on “Test Connection”. A green tick should appear on the button and you should see something similar to the following output:
Connected to [...] on protocol version 1.4
[...]
🎉 You’re set! Sparrow is now configured to connect to your node over Tor and you can use it wherever you are.
Set up a Tor proxy for external services
If a Tor proxy is configured in Sparrow, all external connections use Tor. This includes rate fetching, coinjoin etc - even transaction broadcasting is then done via external service (like blockstream.info) over Tor for additional privacy. Where-ever possible, the onion URLs of these services are used.
Sparrow can be configured to use an internal (bundled) or external Tor proxy. To
use the internal proxy, an onion Electrum server URL must be specified, and the
‘Use Proxy’ toggle must be off. Therefore, the following section only applies if
you connect to your Electrum server using the local IP address within your local
network (e.g., nakamoto01
, nakamoto01.local
or 192.168.X.Y
). If you’re
using a Tor onion address to connect to your node, then Sparrow is already using
the internal proxy and there is nothing else to be done!
If you’re using a local connection, we recommend that you set up this external Tor proxy as described below for maximal privacy.
Preparations on your computer
For Sparrow Wallet to connect to the external services via Tor, Tor has to be running on your computer. You can run the Tor Browser and use port 9150 on localhost or else run Tor as a background service and use port 9050.
Here, we’ll use the Tor as a background service and port 9050 as it is easier and simpler to set up.
To work around this, first, make sure Tor is installed and running on your Windows. Run as admin:
First you need to install chocolatey
choco install tor
tor --service start
Check tor service are working
netstat -aon | findstr ":9050"
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 23656
Signing app configuration
- Open Sparrow
- Navigate to the server configuration page by hitting
<Ctrl><P>
or<Cmd><,>
on macOS, then click on “Server” - Click on the “Private Electrum” tab. If you’ve already have an existing clearnet connection, click on “Edit Existing Connection”.
- Enable the Tor proxy by clicking on the “Use proxy” slider
- On the “Proxy URL” line, paste
127.0.0.1
in the first box and either9050
in the second box. - Click on “Test Connection”. A green tick should appear on the button and you should see something similar to the following output:
Connected to [...] on protocol version 1.4
[...]
Now, let’s go back to the signing app and check that the proxy is working properly.
- Close the server configuration window
- Check the two icons in the bottom right corner of the signing app window
status icons
- The first icon should be grey, not red; and a mouse hover should display “External Tor proxy enabled”
🎉 You’re set! Sparrow Wallet is now configured to use the Tor proxy when fetching the Bitcoin price and when communicating with the Whirlpool server during CoinJoins.
Sparrow in action
Congratulations, you have now a Bitcoin desktop signing app, capable of securing your bitcoin keys, running with your own trustless Bitcoin full node!
Sparrow is a powerful signing app that allows you to use the most advanced features for securing your bitcoin keys and preserve your privacy.
With Sparrow you can:
- Connect any hardware signing device
- “Send” and “receive” bitcoins
- Have full control throughout the transaction creation and signing process: coin control, PSBT, labelling, byte level transaction viewer…
- Create batched transactions to save on miner fees
- Create multisig for improved security
- Coinjoin your coins for improved privacy
- Analyse your tansactions with the built-in blockchain explorer
For more information, tutorials and support, visit the Sparrow documentation webpage and their Telegram group.
For the future: Sparrow update
Sparrow will automatically notify you when an update is available. Simply install the updates using the usual method for your OS.