* Default bitcoind timeout to 60s for all platforms * Create bitcoind_setup_tasks.py * Missing prop setter bugfix Fixes #1221 * Early progress check-in * Docs update, initial FR translation file * Lots more text wrapping, babel.cfg fix for html * docs update * Updated translator procedures, added initial German, Hebrew, and Portugese files * Update README.md * Update README.md * Update messages.po Started the translation process using Poedit. Lines * Test first modif in ES First modification (only adding one line here) using Poedit and following the translation steps given by kdmukai. If everything is working well here I am ready to start translating. * Update messages.po * Bugfix; multi-language mnemonic support * Explicit language selection * Translation support for strings with variable insertions * Bugfixes; define supported langages in only one place * Cleanup * Update messages.po * Update messages.po * Latest translations integrated * Regenerating messages; disabling fuzzy matching * Compiled messages * template bugfixes * Use jinja's "tojson" to safely escape account_map device labels * Update wallet_pdf.jinja * Update helpers.py * Update node.py * Bugfixes * Updated requirements.txt; bugfix on language selection on Settings * Update wallets.py * Require `mnemonic==0.19` for multi-language BIP39 wordlists * Update iw translation * "he" language code fix for Hebrew * Update README.md * Adding blank Greek file; minor README update * Update messages.po 50% on this ... My ass is flat. * Spanish translation file updated * Update messages.po * Extracted from the latest code; recompiled with the latest translations * Added missing wrapped strings * Update messages.po * Updated Spanish translations * Adding blank Dutch ("nl") translation file * Blank Korean ("ko") translation file * Blank Portugese ("pt") file updated * Blank Turkish ("tr") translation file * Adding blank Serbian ("sr") translation file * Update messages.po * Compiled latest Spanish translations * Translation progress Translated the first 181 strings * Blank Italian ("it") translation file * More translation work done 6667810 strings translated. Nice number, guess I'll stop here :) * Compiled first batch of German translations * Update messages.po * Translation 100% All done. Would be extra pleased if my name popped up somewhere in credits. Not required though :) * Update messages.po * Update messages.po All done !!! :) * Compiled in initial Greek translations * Updated completion of German translation * Initial Dutch translations compiled in * Compiled full Spanish translations * Re-ran extraction, update, compile * Update Dutch translation * Blank Icelandic ("is") translation file * Blank Chinese (zh_Hans_CN and zh_hant_TW) translation files * Compiled latest Dutch translations * Add missing strings to translation files * Blank Swedish (sv) translation file * Blank Polish ("pl") translation file * Blank Bulgarian ("bg") translation file * Blank Russian ("ru") translation file * Swedish 30% done * Update messages.po * Blank Croatian ("hr") translation file * Delete messages.mo * Added translator Also fixed some warnings in poedit * Babel docs update * Compiled latest Dutch and Swedish translations * Update messages.po Completed 100% * Update wallets.py * Compiled in latest German translations * Update messages.po * Extracted, updated, compiled translation files * Compiled in first batch of Polish translations * Update messages.po More translations. * Compiled latest Polish translations * Hindi, Tamil, Malayalam translation files * Completed Swedish translation * 80% complete * Blank Finnish ("fi") translation file * Compiled latest Swedish translations * Full update and recompile of Swedish * Compiled Polish translations * Full update and recompile for Polish * Update messages.po * Updating Poedit docs * Removed word wrap; compiled latest Dutch * Hindi Translation --initial * updated w/no line wrap; compiled first Hindi translations * Update messages.po * Update messages.po Initial and partial test Bulgarian commit * updated and compiled initial Bulgarian translations. * Bugfix on text wrapping * Update messages.po * Update messages.po BG translation ~25% complete * Fully completed polish translation (first draft) Probably needs some further tweaking here and there. * Start Russian translation * Russian translation 30% complete * Format fixes * Compiled latest French translations * Compiled latest Chinese (Traditional) translations * Compiled latest Bulgarian translations * Compiled latest Polish translations * Compiled latest Russian translations * Update French to 36% * Update messages.po * Compiled in latest French translations * Compiled latest Dutch translations * Russian 70% complete * Update messages.po * Russian 100% complete * Update French to 44% Slowly but surely * Adds in-progress languages; latest Russian translations compiled * Extracted latest; updated Russian translation file. * Compiled latest Chinese (Traditional) translations * Updated and compiled Chinese (Traditional) * Compiled latest Russian translations * Updated and compiled latest French translations * Updated all translation files * Fix double quotes format issue Co-authored-by: Kim Neunert <k9ert@gmx.de> Co-authored-by: 2a3dex <58116837+2a3dex@users.noreply.github.com> Co-authored-by: rafa1239 <raphael.altieri@gmail.com> Co-authored-by: benk10 <ben.kaufman10@gmail.com> Co-authored-by: Volker Herminghaus <volker@bitcorn.wtf> Co-authored-by: glowleaf <69010742+glowleaf@users.noreply.github.com> Co-authored-by: DirkVdk <86686185+DirkVdk@users.noreply.github.com> Co-authored-by: mutatrum <mutatrum@gmail.com> Co-authored-by: Kryptoministern <77808545+Kryptoministern@users.noreply.github.com> Co-authored-by: PommbearBTC <86745004+PommbearBTC@users.noreply.github.com> Co-authored-by: Gummybear <holuan@gmail.com> Co-authored-by: sreshta suresh <sreshtasuresh@gmail.com> Co-authored-by: KST-Energy <82534243+KST-Energy@users.noreply.github.com> Co-authored-by: alltheseas <64376233+alltheseas@users.noreply.github.com> Co-authored-by: dudezoo <86764634+dudezoo@users.noreply.github.com> Co-authored-by: Sergei Tikhomirov <sergey.s.tikhomirov@gmail.com> Co-authored-by: Bitpaint <67663265+bitpaint@users.noreply.github.com> |
||
|---|---|---|
| .github/workflows | ||
| babel | ||
| cypress | ||
| docker | ||
| docs | ||
| pyinstaller | ||
| screenshots | ||
| src/cryptoadvance/specter | ||
| tests | ||
| udev | ||
| utils | ||
| .cirrus.yml | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .pre-commit-config.yaml | ||
| CONTRIBUTING.md | ||
| cypress.json | ||
| DEVELOPMENT.md | ||
| LICENSE | ||
| MANIFEST.in | ||
| package-lock.json | ||
| package.json | ||
| pytest.ini | ||
| README.md | ||
| requirements.in | ||
| requirements.txt | ||
| setup.py | ||
| test_requirements.txt | ||
Table of Contents
- Specter Desktop
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
- BitBox02
- 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.
Help wanted: Do you like Specter?
Please help us to push forward, fix bugs, refine FAQs and please help each other in the support channel. As a small team on a tiny budget we are working hard to make Specter better every day – for Bitcoin, for you and for us. We are quite overwhelmed with the response, the guides and shout-outs. Thank you! Stepan, Ben, Kim, all the fellow Specter-Builders & Moritz
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 (Debian buster is only partially supported)
Installing Specter from Pip
- Specter requires Python version 3.6 to 3.8. We will support python 3.9 when HWI adds support for it.
- Bitcoin Core node should be at least v0.19+, better if it's the latest one from bitcoincore.org.
- HWI support requires
libusb- Ubuntu/Debian:
sudo apt install libusb-1.0-0-dev libudev-dev python3-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
- 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 using Tor, provide SSL certificates to run over https. Https is especially important because browsers don't allow the website to access the camera without secure connection, and we need camera access to scan QR codes.
An example how to run Specter server with SSL certificates (--key, --cert) over Tor (make sure to walk through the Tor-document ):
python3 -m cryptoadvance.specter server --tor --cert=./cert.pem --key=./key.pem
Connect Specter to Bitcoin Core
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 are using Bitcoin Core with GUI, set server=1 in bitcoin.conf. This setting allows other programs to talk to the rpc server of Bitcoin Core. It's automatically enabled when you are using bitcoind, but disabled in bitcoin-qt.
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.
Tips and tricks (detailed instructions)
- Setting up Specter over Tor: docs/tor.md
- Using self-signed certificates in local network or Tor: docs/self-signed-certificates.md
- Running Specter as a service on a linux machine: docs/daemon.md
- Beyond local network - how to forward your node through a cheap VPS: docs/reverse-proxy.md
Errors, doubts.. Read our FAQ!
If you're stuck while installing/configuring Specter or you're looking for more informations about the project, read our FAQ!







