Browse Source
- markdown is just simpler. less powerful but more than sufficient here - all the other doc files in this repo are markdownpatch-4
SomberNight
3 years ago
2 changed files with 140 additions and 171 deletions
@ -0,0 +1,140 @@ |
|||||
|
# Electrum - Lightweight Bitcoin client |
||||
|
|
||||
|
``` |
||||
|
Licence: MIT Licence |
||||
|
Author: Thomas Voegtlin |
||||
|
Language: Python (>= 3.8) |
||||
|
Homepage: https://electrum.org/ |
||||
|
``` |
||||
|
|
||||
|
[![Build Status](https://api.cirrus-ci.com/github/spesmilo/electrum.svg?branch=master)](https://cirrus-ci.com/github/spesmilo/electrum) |
||||
|
[![Test coverage statistics](https://coveralls.io/repos/github/spesmilo/electrum/badge.svg?branch=master)](https://coveralls.io/github/spesmilo/electrum?branch=master) |
||||
|
[![Help translate Electrum online](https://d322cqt584bo4o.cloudfront.net/electrum/localized.svg)](https://crowdin.com/project/electrum) |
||||
|
|
||||
|
|
||||
|
## Getting started |
||||
|
|
||||
|
_(If you've come here looking to simply run Electrum, |
||||
|
[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](https://github.com/bitcoin-core/secp256k1) |
||||
|
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, |
||||
|
[cryptography](https://github.com/pyca/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](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 |
||||
|
``` |
||||
|
|
||||
|
### Run tests |
||||
|
|
||||
|
Run unit tests with `pytest`: |
||||
|
``` |
||||
|
$ pytest electrum/tests -v |
||||
|
``` |
||||
|
|
||||
|
To run a single file, specify it directly like this: |
||||
|
``` |
||||
|
$ pytest electrum/tests/test_bitcoin.py -v |
||||
|
``` |
||||
|
|
||||
|
## Creating Binaries |
||||
|
|
||||
|
- [Linux (tarball)](contrib/build-linux/sdist/README.md) |
||||
|
- [Linux (AppImage)](contrib/build-linux/appimage/README.md) |
||||
|
- [macOS](contrib/osx/README.md) |
||||
|
- [Windows](contrib/build-wine/README.md) |
||||
|
- [Android](contrib/android/Readme.md) |
||||
|
|
||||
|
|
||||
|
## Contributing |
||||
|
|
||||
|
Any help testing the software, reporting or fixing bugs, reviewing pull requests |
||||
|
and recent changes, writing tests, or helping with outstanding issues is very welcome. |
||||
|
Implementing new features, or improving/refactoring the codebase, is of course |
||||
|
also welcome, but to avoid wasted effort, especially for larger changes, |
||||
|
we encourage discussing these on the issue tracker or IRC first. |
||||
|
|
||||
|
Besides [GitHub](https://github.com/spesmilo/electrum), |
||||
|
most communication about Electrum development happens on IRC, in the |
||||
|
`#electrum` channel on Libera Chat. The easiest way to participate on IRC is |
||||
|
with the web client, [web.libera.chat](https://web.libera.chat/#electrum). |
@ -1,171 +0,0 @@ |
|||||
Electrum - Lightweight Bitcoin client |
|
||||
===================================== |
|
||||
|
|
||||
:: |
|
||||
|
|
||||
Licence: MIT Licence |
|
||||
Author: Thomas Voegtlin |
|
||||
Language: Python (>= 3.8) |
|
||||
Homepage: https://electrum.org/ |
|
||||
|
|
||||
|
|
||||
.. image:: https://api.cirrus-ci.com/github/spesmilo/electrum.svg?branch=master |
|
||||
:target: https://cirrus-ci.com/github/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, `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 |
|
||||
|
|
||||
Run unit tests with `pytest`: |
|
||||
|
|
||||
pytest electrum/tests -v |
|
||||
|
|
||||
To run a single file, specify it directly like this: |
|
||||
|
|
||||
pytest electrum/tests/test_bitcoin.py -v |
|
||||
|
|
||||
Creating Binaries |
|
||||
================= |
|
||||
|
|
||||
Linux (tarball) |
|
||||
--------------- |
|
||||
|
|
||||
See :code:`contrib/build-linux/sdist/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:`contrib/android/Readme.md`. |
|
||||
|
|
||||
|
|
||||
Contributing |
|
||||
============ |
|
||||
|
|
||||
Any help testing the software, reporting or fixing bugs, reviewing pull requests |
|
||||
and recent changes, writing tests, or helping with outstanding issues is very welcome. |
|
||||
Implementing new features, or improving/refactoring the codebase, is of course |
|
||||
also welcome, but to avoid wasted effort, especially for larger changes, |
|
||||
we encourage discussing these on the issue tracker or IRC first. |
|
||||
|
|
||||
Besides `GitHub`_, most communication about Electrum development happens on IRC, in the |
|
||||
:code:`#electrum` channel on Libera Chat. The easiest way to participate on IRC is |
|
||||
with the web client, `web.libera.chat`_. |
|
||||
|
|
||||
|
|
||||
.. _web.libera.chat: https://web.libera.chat/#electrum |
|
||||
.. _GitHub: https://github.com/spesmilo/electrum |
|
Loading…
Reference in new issue