mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-28 07:51:27 +00:00
LBRY Vault; LBRY Credits thin client
- some commands expect a 'wallet_path' arg, while others expect 'wallet' - 'wallet_path' in the end is supposed to be a str, 'wallet' in the end is supposed to be an Optional[Abstract_Wallet] - initially, in the decorator, 'wallet' can be a str, in which case the decorator replaces it with an Abstract_Wallet (from the daemon) - Previously the decorator sometimes converted 'wallet_path' to 'wallet'. This was because when called from the CLI it was always given 'wallet_path' (and never 'wallet), while when called from JSON-RPC it was given either 'wallet' or 'wallet_path' (depending on command). Now, the CLI also behaves as JSON-RPC, and hence 'wallet_path' and 'wallet' are fully separate. - A bug is fixed where, when a command that only optionally takes a 'wallet' (such as gettransaction), was called from the JSON-RPC with the arg present, it raised; and when called from CLI with the arg present the arg was not actually passed to the command. - A bug is fixed where if one command calls another command (that both take a 'wallet'), it would raise (due to assuming 'wallet' is str and needs to be converted to Abstract_Wallet). This fixes #6154. ----- $ ./run_electrum --testnet daemon -d $ ./run_electrum --testnet load_wallet -w ~/.electrum/testnet/wallets/default_wallet $ curl --data-binary '{"id":"curltext","jsonrpc":"2.0","method":"gettransaction","params":{"txid":"9f43ff71ea2594873e4e7d15e61254a3661ff2df1af76325c854d9aa199550ce"}}' http://user:pass@127.0.0.1:7777 {"jsonrpc": "2.0", "result": "0200000001caaac6b5eb916e3067d0224f942fb331ce1dcfb4031cfb479e7941dcf95e409801000000fdfe0000483045022100e2a508bb78c2172eb03f081a342454ba1d24669e959700973b1a742a4fedd0c302203174e06feda265031cf9aa0364d4a4eafb71b0c0a62e76be7795cfbb307b677a01483045022100d0e14564838fac754395158741d64c73da2b86e7900dfdc6a63c7492b232ba130220778e7e7c21d94ebcd340057302aeff7e9a797a3aa3e0ac4884e9ff27339ea6e9014c69522102091f0b4d8ab30016a5d1c088249e02883fad8160f06fa53588ad8598650a3e6221035f2f8263bb3608d6cc4ee03bd4cb8d65c4d70af71049f05fbfee4978832a1fd22103fe42dab58718ea0413f7c8de693cdeee22ce19b1dc34c0bbdd7a48245465c5a253aefdffffff01cb9f0700000000001976a914c13fd6294d1be7b9410a5538f4b4ef10fc594ee788ac802c1800", "id": "curltext"} $ curl --data-binary '{"id":"curltext","jsonrpc":"2.0","method":"gettransaction","params":{"txid":"9f43ff71ea2594873e4e7d15e61254a3661ff2df1af76325c854d9aa199550ce", "wallet":"~/.electrum/testnet/wallets/default_wallet"}}' http://user:pass@127.0.0.1:7777 {"jsonrpc": "2.0", "error": {"code": -32000, "message": "'str' object has no attribute 'db'"}, "id": "curltext"} |
||
---|---|---|
.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. It will also place an executable named :code:`electrum` in :code:`~/.local/bin`, so make sure that is on your :code:`PATH` variable. 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 -e . Create translations (optional):: sudo apt-get install python-requests gettext ./contrib/pull_locale Finally, to start Electrum:: ./run_electrum 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`.