A GUI for Bitcoin Core optimised to work with airgapped hardware wallets
Project description
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
DISCLAIMER
This software might be ready to be used but at your own risk.
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 hardware wallets and airgapped devices.
At the moment Specter-Desktop is working with all major hardware wallets including:
- Trezor
- Ledger
- KeepKey
- ColdCard (optionally airgapped, using an SD card)
- Electrum (optionally airgapped, if running Electrum on an airgapped computer/ phone)
- Specter DIY (optionally airgapped, using QR codes)
- Cobo (airgapped, using QR codes)
We also support using the Bitcoin Core as a hot wallet, by importing or generating a random BIP39 mnemonic, but this feature is experimental and we do not recommend using it at this stage. We plan to add support for other hardware wallets as they come up. If you are interested in using Specter with a hardware wallet currently unsupported, let us know by opening an issue here or asking in our Telegram group.
How to run
Using the Specter Desktop app
The easiest way to run Specter Desktop is by installing the Specter Desktop app, which you can find on the GitHub release page. With this method, all you need to do is just download the right file for your operating system and install it like a normal desktop app.
Installing Specter from Pip
- 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
- Ubuntu/Debian:
- 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
- Beyond local network - how to forward your node through a cheap VPS: docs/reverse-proxy.md
- Setting up Specter over Tor: docs/tor.md
- Using self-signed certificates in local network or Tor: docs/self-signed-certificates.md
A few screenshots
Adding a new device
Creating a new wallet
Wallet interface
Configuration
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cryptoadvance.specter-0.7.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c38a96cad9d5d874d0dff7ff818cfff2e812b08c6330873f86a4c154e5f1b62e |
|
MD5 | f7f05baccf3cd8f615574d30b7f076f3 |
|
BLAKE2b-256 | be576e1497d16722d0517a43fc0ca6dd90b374d737962b091a15d0263e8fd8cc |
Hashes for cryptoadvance.specter-0.7.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 303b21c3e23f39007aa09b2af3de41acddc1fdf59d2a30eedefb62591baeb761 |
|
MD5 | a44f445b93ba955a22901c6b7f850c11 |
|
BLAKE2b-256 | b56433737324252f6e9c34816b4c75cd4d32da519539ef34479eb257c020c40a |