readme and screenshots
75
README.md
Normal file → Executable file
|
|
@ -1,46 +1,57 @@
|
|||
# Specter Desktop
|
||||
|
||||
A flask web GUI for Bitcoin Core to use with airgapped hardware wallets
|
||||
## DISCLAIMER
|
||||
|
||||
This is the working alpha branch. Random comments, weird pieces of code and comments, not documented, breaking changes etc.
|
||||
This software is **WORK IN PROGRESS and NOT READY TO USE YET**.
|
||||
|
||||
Wait until we merge it to master, then you can use it.
|
||||
## Why?
|
||||
|
||||
## TODO
|
||||
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.
|
||||
|
||||
- Send transaction:
|
||||
- save psbt that is not finished
|
||||
- upload file and combine psbt
|
||||
- determine who else should sign (just look up pubkeys)
|
||||
- show as qr
|
||||
- work with coldcard to fix their multisig
|
||||
- Display cosigners xpubs
|
||||
- Migration between app versions?
|
||||
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.
|
||||
|
||||
### Later:
|
||||
At the moment we are working on integration of our [Specter-DIY hardware wallet](https://github.com/cryptoadvance/specter-diy) that uses QR codes as a main communication channel, and ColdCard that uses SD cards. Later on we plan to integrate "hot" hardware wallets using [HWI tool](https://github.com/bitcoin-core/HWI) and [Junction](https://github.com/justinmoon/junction).
|
||||
|
||||
- Import wallet from coldcard
|
||||
- Show addresses QR codes in the PSBT
|
||||
- Delete wallets (requires access to the wallet folder - can only unload remotely)
|
||||
## How to run
|
||||
|
||||
### A bit later:
|
||||
Clone the repo, install dependencies:
|
||||
|
||||
- proper error handling
|
||||
- run flask server from distribution
|
||||
- run bitcoind and bitcoin-cli from the distribution
|
||||
- bitcoin configuration gui
|
||||
```
|
||||
git clone https://github.com/cryptoadvance/specter-desktop.git
|
||||
pip3 install flask flask_qrcode flask_socketio
|
||||
```
|
||||
|
||||
### Nice to have
|
||||
Run the server:
|
||||
|
||||
- control fee
|
||||
- Tx batching (sendtomany)
|
||||
- coin control
|
||||
- rbf
|
||||
- privacy mode - hide balances and/or menu bar (can be in settings)
|
||||
- mobile version
|
||||
- use vue js?
|
||||
- specter-pi - airgapped bitcoin core for signing on pi
|
||||
```
|
||||
cd specter-desktop
|
||||
python3 server.py
|
||||
```
|
||||
|
||||
### Far in the future
|
||||
Your bitcoin node should have `rpcuser` and `rpcpassword` set in the `bitcoin.conf` file.
|
||||
|
||||
- remote node over tor - camera requires https, how to solve? (let's encrypt doesn't work)
|
||||
## A few screenshots
|
||||
|
||||
### Adding a new device
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Creating a new wallet
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Wallet interface
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Configuration
|
||||
|
||||

|
||||
BIN
screenshots/bitcoin-rpc.jpg
Executable file
|
After Width: | Height: | Size: 210 KiB |
BIN
screenshots/device_keys.jpg
Executable file
|
After Width: | Height: | Size: 309 KiB |
BIN
screenshots/devices.jpg
Executable file
|
After Width: | Height: | Size: 206 KiB |
BIN
screenshots/new_multisig.jpg
Executable file
|
After Width: | Height: | Size: 209 KiB |
BIN
screenshots/receive.jpg
Executable file
|
After Width: | Height: | Size: 225 KiB |
BIN
screenshots/send.jpg
Executable file
|
After Width: | Height: | Size: 198 KiB |
BIN
screenshots/transactions.jpg
Executable file
|
After Width: | Height: | Size: 208 KiB |
BIN
screenshots/wallets.jpg
Executable file
|
After Width: | Height: | Size: 189 KiB |