change top-level README from .rst to .md
- markdown is just simpler. less powerful but more than sufficient here - all the other doc files in this repo are markdown
This commit is contained in:
140
README.md
Normal file
140
README.md
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
# Electrum - Lightweight Bitcoin client
|
||||||
|
|
||||||
|
```
|
||||||
|
Licence: MIT Licence
|
||||||
|
Author: Thomas Voegtlin
|
||||||
|
Language: Python (>= 3.8)
|
||||||
|
Homepage: https://electrum.org/
|
||||||
|
```
|
||||||
|
|
||||||
|
[](https://cirrus-ci.com/github/spesmilo/electrum)
|
||||||
|
[](https://coveralls.io/github/spesmilo/electrum?branch=master)
|
||||||
|
[](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).
|
||||||
171
README.rst
171
README.rst
@@ -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
|
|
||||||
Reference in New Issue
Block a user