Skip to content

A desktop GUI for Bitcoin Core optimised to work with hardware wallets

License

Notifications You must be signed in to change notification settings

zndtoshi/specter-desktop

 
 

Repository files navigation

Table of Contents

Specter Desktop

"A specter is haunting the modern world, the specter of crypto anarchy."
The Crypto Anarchist Manifesto - Timothy C. May - Sun, 22 Nov 92 12:11:24 PST

Build Status

DISCLAIMER

This software might be ready to be used but at your own risk. The UI is currently only tested and optimised in Chrome, and looks a bit weird but usable in firefox. So in other browsers, it may even look more weird.

If something doesn't work open an issue here or ask a question in our Telegram group.

Why?

Bitcoin Core has a very powerful command line interface and a wonderful daemon. Using PSBT and HWI it can also work with hardware wallets, but at the moment it is too linux-way. The same applies to multisignature setups.

The goal of this project is to make a convenient and user-friendly GUI around Bitcoin Core with a focus on multisignature setup with airgapped hardware wallets.

At the moment Specter-Desktop is working with all major Hardware-Wallets including Specter-DIY hardware wallet which uses QR codes as a main communication channel and ColdCard that uses SD cards. Also it already supports "hot" hardware wallets using HWI tool and is tested to work with Trezor One. It should also work with Keepkey and Ledger (Firmware >= 1.6.0).

How to run

  • HWI support requires libusb
    • Ubuntu/Debian: sudo apt install libusb-1.0-0-dev libudev-dev
    • macOS: brew install libusb
    • windows: follow instructions in windows.md
  • Install Specter
pip3 install cryptoadvance.specter
  • Run Specter
python3 -m cryptoadvance.specter server 
# Or as a deamon:
python3 -m cryptoadvance.specter server --daemon
# Stop the daemon again:
python3 -m cryptoadvance.specter server --stop
  • Upgrade Specter
pip3 install cryptoadvance.specter --upgrade

After that, specter will be available at http://127.0.0.1:25441/.

You can also run it (as a daemon), using tor, provide ssl certificates to run over https. Https is especially important because browsers don't allow the website to access camera without secure connection, and we need camera access to scan QR codes.

An example how to run specter server in the background (--daemon) with ssl certificates (--key, --cert) over tor:

python3 -m cryptoadvance.specter server --tor=mytorpassword --cert=./cert.pem --key=./key.pem --daemon

If your Bitcoin Core is using a default data folder the app should detect it automatically. If not, consider setting rpcuser and rpcpassword in the bitcoin.conf file or set in directly in the specter-app settings.

If you use Specter from a remote machine and want to use it with hardware wallets connected via USB, please read this guide on setting up HWIBridge to facilitate such connection to hardware wallets.

Have a look at DEVELOPMENT.md for further information about hacking on specter-desktop.

Detailed instructions

A few screenshots

Adding a new device

Creating a new wallet

Wallet interface

Configuration

About

A desktop GUI for Bitcoin Core optimised to work with hardware wallets

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 57.7%
  • HTML 36.1%
  • CSS 3.9%
  • JavaScript 1.4%
  • Other 0.9%