1
0

updates READMEs re electrum-ecc

This commit is contained in:
SomberNight
2024-10-07 17:04:14 +00:00
parent f35437f03c
commit 581082d5bb
3 changed files with 35 additions and 16 deletions

View File

@@ -23,29 +23,37 @@ is a TL;DR:
``` ```
$ sudo apt-get install libsecp256k1-dev $ sudo apt-get install libsecp256k1-dev
$ python3 -m pip install --user ".[gui,crypto]" $ ELECTRUM_ECC_DONT_COMPILE=1 python3 -m pip install --user ".[gui,crypto]"
``` ```
### Not pure-python dependencies ### Not pure-python dependencies
#### Qt GUI
If you want to use the Qt interface, install the Qt dependencies: If you want to use the Qt interface, install the Qt dependencies:
``` ```
$ sudo apt-get install python3-pyqt6 $ sudo apt-get install python3-pyqt6
``` ```
#### libsecp256k1
For elliptic curve operations, For elliptic curve operations,
[libsecp256k1](https://github.com/bitcoin-core/secp256k1) [libsecp256k1](https://github.com/bitcoin-core/secp256k1)
is a required dependency: is a required dependency.
If you "pip install" Electrum, by default libsecp will get compiled locally,
as part of the `electrum-ecc` dependency. This can be opted-out of,
by setting the `ELECTRUM_ECC_DONT_COMPILE=1` environment variable.
For the compilation to work, besides a C compiler, you need at least:
```
$ sudo apt-get install automake libtool
```
If you opt out of the compilation, you need to provide libsecp in another way, e.g.:
``` ```
$ sudo apt-get install libsecp256k1-dev $ sudo apt-get install libsecp256k1-dev
``` ```
Alternatively, when running from a cloned repository, a script is provided to build #### cryptography
libsecp256k1 yourself:
```
$ sudo apt-get install automake libtool
$ ./contrib/make_libsecp256k1.sh
```
Due to the need for fast symmetric ciphers, Due to the need for fast symmetric ciphers,
[cryptography](https://github.com/pyca/cryptography) is required. [cryptography](https://github.com/pyca/cryptography) is required.
@@ -54,6 +62,8 @@ Install from your package manager (or from pip):
$ sudo apt-get install python3-cryptography $ sudo apt-get install python3-cryptography
``` ```
#### hardware-wallet support
If you would like hardware wallet support, If you would like hardware wallet support,
[see this](https://github.com/spesmilo/electrum-docs/blob/master/hardware-linux.rst). [see this](https://github.com/spesmilo/electrum-docs/blob/master/hardware-linux.rst).

View File

@@ -21,6 +21,10 @@ Run install (this should install most dependencies):
### 2. Install `libsecp256k1` ### 2. Install `libsecp256k1`
[comment]: # (technically the dll should be put into site-packages/electrum_ecc/,
but putting it into electrum/ also works because of the `os.add_dll_directory` call in
electrum/__init__.py)
[libsecp256k1](https://github.com/bitcoin-core/secp256k1) is a required dependency. [libsecp256k1](https://github.com/bitcoin-core/secp256k1) is a required dependency.
This is a C library, which you need to compile yourself. This is a C library, which you need to compile yourself.
Electrum needs a dll, named `libsecp256k1-0.dll` (or newer `libsecp256k1-*.dll`), Electrum needs a dll, named `libsecp256k1-0.dll` (or newer `libsecp256k1-*.dll`),

View File

@@ -15,18 +15,23 @@ $ cd electrum
$ git submodule update --init $ git submodule update --init
``` ```
Run install (this should install most dependencies): ### 2. Prepare for compiling libsecp256k1
To be able to build the `electrum-ecc` package from source
(which is pulled in when installing Electrum in the next step),
you need:
```
$ brew install autoconf automake libtool coreutils
```
### 3. Install Electrum
Run install (this should install the dependencies):
``` ```
$ python3 -m pip install --user -e ".[gui,crypto]" $ python3 -m pip install --user -e ".[gui,crypto]"
``` ```
### 2. Install libsecp256k1 ### 4. Run electrum:
```
$ brew install autoconf automake libtool coreutils
$ contrib/make_libsecp256k1.sh
```
### 3. Run electrum:
``` ```
$ ./run_electrum $ ./run_electrum
``` ```