mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-31 17:31:36 +00:00
LBRY Vault; LBRY Credits thin client
time taken to add points changes to around 35% of what it was with python-ecdsa ----- # benchmark runs before: > python3.7-64 ..\wspace\201909_libsecp256k1_point_addition\bench.py time taken: 3.7693 seconds > python3.7-64 ..\wspace\201909_libsecp256k1_point_addition\bench.py time taken: 3.8123 seconds > python3.7-64 ..\wspace\201909_libsecp256k1_point_addition\bench.py time taken: 3.7937 seconds # benchmark runs after: > python3.7-64 ..\wspace\201909_libsecp256k1_point_addition\bench.py time taken: 1.3127 seconds > python3.7-64 ..\wspace\201909_libsecp256k1_point_addition\bench.py time taken: 1.3000 seconds > python3.7-64 ..\wspace\201909_libsecp256k1_point_addition\bench.py time taken: 1.3128 seconds ----- # benchmark script: import os import time from electrum.ecc import generator from electrum.crypto import sha256 rand_bytes = os.urandom(32) #rand_bytes = bytes.fromhex('d3d88983b91ee6dfd546ccf89b9a1ffb23b01bf2eef322c2808cb3d951a3c116') point_pairs = [] for i in range(30000): rand_bytes = sha256(rand_bytes) rand_int = int.from_bytes(rand_bytes, "big") a = generator() * rand_int rand_bytes = sha256(rand_bytes) rand_int = int.from_bytes(rand_bytes, "big") b = generator() * rand_int point_pairs.append((a,b)) t0 = time.time() for a, b in point_pairs: c = a + b t = time.time() - t0 print(f"time taken: {t:.4f} seconds") |
||
---|---|---|
.github | ||
contrib | ||
electrum | ||
pubkeys | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
AUTHORS | ||
electrum-env | ||
electrum.desktop | ||
LICENCE | ||
MANIFEST.in | ||
README.rst | ||
RELEASE-NOTES | ||
run_electrum | ||
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 =============== Electrum is a pure python application. If you want to use the Qt interface, install the Qt dependencies:: sudo apt-get install python3-pyqt5 If you downloaded the official package (tar.gz), you can run Electrum from its root directory without installing it on your system; all the 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 -m pip install .[fast] This will download and install the Python dependencies used by Electrum instead of using the 'packages' directory. The 'fast' extra contains some optional dependencies that we think are often useful but they are not strictly needed. If you cloned the git repository, you need to compile extra files before you can run Electrum. Read the next section, "Development Version". Development version =================== 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 .[fast] Compile the protobuf description file:: sudo apt-get install protobuf-compiler protoc --proto_path=electrum --python_out=electrum electrum/paymentrequest.proto 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`.