mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-30 08:51:32 +00:00
LBRY Vault; LBRY Credits thin client
This commit adds support for the BitBox02 hardware wallet. It supports both single and multisig for the electrum gui wallet. To use the plugin a local installation of the BitBox02 python library is required. It can be found on PiPy under the name 'bitbox02' and can be installed from the bitbox02-firmware repository in the py/bitbox02 directory. All communication to and from the BitBox02 is noise encrypted, the keys required for this are stored in the wallet config file under the bitbox02 key. The BitBox02 registers a multisig configuration before allowing transaction signing. This multisig configuration includes the threshold, cosigner xpubs, keypath, a variable to indicate for mainnet and testnet, and a name that the user can choose during configuration registration. The user is asked to register the multisig configuration either during address verification or during transaction signing. The check the xpub of the BitBox02 for other hardware wallets, a button is added in the wallet info dialog. The wallet encryption key is fetched in a separate api call, requiring a slightly tweaked override version of the wallet encryption password. |
||
---|---|---|
.github | ||
contrib | ||
electrum | ||
pubkeys | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
AUTHORS | ||
electrum-env | ||
electrum.desktop | ||
LICENCE | ||
MANIFEST.in | ||
README.rst | ||
RELEASE-NOTES | ||
run_electrum | ||
SECURITY.md | ||
setup.py | ||
tox.ini |
Electrum - Lightweight Bitcoin client ===================================== :: Licence: MIT Licence Author: Thomas Voegtlin Language: Python (>= 3.6) Homepage: https://electrum.org/ .. image:: https://travis-ci.org/spesmilo/electrum.svg?branch=master :target: https://travis-ci.org/spesmilo/electrum :alt: Build Status .. image:: https://coveralls.io/repos/github/spesmilo/electrum/badge.svg?branch=master :target: https://coveralls.io/github/spesmilo/electrum?branch=master :alt: Test coverage statistics .. image:: https://d322cqt584bo4o.cloudfront.net/electrum/localized.svg :target: https://crowdin.com/project/electrum :alt: Help translate Electrum online Getting started =============== (*If you've come here looking to simply run Electrum,* `you may download it here`_.) .. _you may download it here: https://electrum.org/#download Electrum itself is pure Python, and so are most of the required dependencies, but not everything. The following sections describe how to run from source, but here is a TL;DR:: sudo apt-get install libsecp256k1-0 python3 -m pip install --user .[gui,crypto] Not pure-python dependencies ---------------------------- If you want to use the Qt interface, install the Qt dependencies:: sudo apt-get install python3-pyqt5 For elliptic curve operations, `libsecp256k1`_ is a required dependency:: sudo apt-get install libsecp256k1-0 Alternatively, when running from a cloned repository, a script is provided to build libsecp256k1 yourself:: sudo apt-get install automake libtool ./contrib/make_libsecp256k1.sh Due to the need for fast symmetric ciphers, either one of `pycryptodomex`_ or `cryptography`_ is required. Install from your package manager (or from pip):: sudo apt-get install python3-cryptography If you would like hardware wallet support, see `this`_. .. _libsecp256k1: https://github.com/bitcoin-core/secp256k1 .. _pycryptodomex: https://github.com/Legrandin/pycryptodome .. _cryptography: https://github.com/pyca/cryptography .. _this: https://github.com/spesmilo/electrum-docs/blob/master/hardware-linux.rst Running from tar.gz ------------------- If you downloaded the official package (tar.gz), you can run Electrum from its root directory without installing it on your system; all the pure python dependencies are included in the 'packages' directory. To run Electrum from its root directory, just do:: ./run_electrum You can also install Electrum on your system, by running this command:: sudo apt-get install python3-setuptools python3-pip python3 -m pip install --user . This will download and install the Python dependencies used by Electrum instead of using the 'packages' directory. Development version (git clone) ------------------------------- Check out the code from GitHub:: git clone git://github.com/spesmilo/electrum.git cd electrum git submodule update --init Run install (this should install dependencies):: python3 -m pip install --user . Create translations (optional):: sudo apt-get install python-requests gettext ./contrib/pull_locale Creating Binaries ================= Linux (tarball) --------------- See :code:`contrib/build-linux/README.md`. Linux (AppImage) ---------------- See :code:`contrib/build-linux/appimage/README.md`. Mac OS X / macOS ---------------- See :code:`contrib/osx/README.md`. Windows ------- See :code:`contrib/build-wine/README.md`. Android ------- See :code:`electrum/gui/kivy/Readme.md`.