modified: Install-MMGen-Wallet-on-Linux.md
modified: Install-MMGen-Wallet-on-Microsoft-Windows.md modified: Test-Suite.md
parent
82be60ca85
commit
dc71b53015
3 changed files with 46 additions and 33 deletions
|
|
@ -20,13 +20,14 @@ $ sudo apt-get install curl git gcc libtool make autoconf libgmp-dev libssl-dev
|
|||
$ sudo pacman -S curl git gcc libtool make autoconf automake autogen pcre python-pip libsecp256k1
|
||||
```
|
||||
|
||||
To keep your MMGen Wallet installation isolated from the rest of your Python
|
||||
packages, you may wish to use a [virtual environment][ve]. If you choose not to
|
||||
do this, you may get an ‘externally-managed-environment’ error when installing
|
||||
packages with `pip`. In this case, you must add `--break-system-packages`
|
||||
to the `pip` command line. Note that this will not in fact break any system
|
||||
packages, as pip installs all packages under the user’s home directory when
|
||||
invoked as user.
|
||||
You may wish to use a [virtual environment][vv] to keep your MMGen Wallet
|
||||
installation isolated from the rest of your Python packages.
|
||||
|
||||
If you choose not to use a virtual environment, then you may need to add
|
||||
`--break-system-packages` to the `pip install` command line, depending on your
|
||||
Python version and Linux distribution. Note that this will not in fact break
|
||||
any system packages, as pip installs all packages under the user’s home
|
||||
directory when invoked as user.
|
||||
|
||||
### Upgrade the Python build tools:
|
||||
|
||||
|
|
@ -102,4 +103,4 @@ Congratulations, your installation is now complete! You can now proceed to
|
|||
[pi]: https://pypi.org
|
||||
[af]: Altcoin-and-Forkcoin-Support
|
||||
[ec]: https://github.com/bitcoin-core/secp256k1.git
|
||||
[ve]: https://docs.python.org/3/library/venv.html
|
||||
[vv]: https://docs.python.org/3/library/venv.html
|
||||
|
|
|
|||
|
|
@ -9,16 +9,17 @@
|
|||
* [Offline install](#a_ug2)
|
||||
* [3. Install MMGen Wallet’s MSYS2 dependencies](#a_md)
|
||||
* [Offline install](#a_md1)
|
||||
* [4. Set up your environment](#a_ev)
|
||||
* [5. Install the Python ECDSA library (offline install only)](#a_ec)
|
||||
* [6. Install the standalone scrypt package (required for strong password hashing)](#a_sc)
|
||||
* [7. Clone and copy the secp256k1 library (offline install only)](#a_se)
|
||||
* [8. Install MMGen Wallet](#a_mm)
|
||||
* [4. Set up your shell environment](#a_ev)
|
||||
* [5. Choose your Python environment](#a_pev)
|
||||
* [6. Install the Python ECDSA library (offline install only)](#a_ec)
|
||||
* [7. Install the standalone scrypt package (required for strong password hashing)](#a_sc)
|
||||
* [8. Clone and copy the secp256k1 library (offline install only)](#a_se)
|
||||
* [9. Install MMGen Wallet](#a_mm)
|
||||
* [Stable version](#a_mms)
|
||||
* [Development version](#a_mmd)
|
||||
* [9. Install Python Ethereum dependencies (if applicable)](#a_pe)
|
||||
* [10. Install and launch your coin daemons](#a_cd)
|
||||
* [11. You’re done!](#a_do)
|
||||
* [10. Install Python Ethereum dependencies (if applicable)](#a_pe)
|
||||
* [11. Install and launch your coin daemons](#a_cd)
|
||||
* [12. You’re done!](#a_do)
|
||||
|
||||
#### [Keeping your installation up to date](#a_u)
|
||||
* [Upgrading MSYS2](#a_us)
|
||||
|
|
@ -197,7 +198,7 @@ pacman -S tar git vim autoconf automake-wrapper autogen libtool cygrunsrv \
|
|||
mingw-w64-ucrt-x86_64-python-pyreadline3
|
||||
```
|
||||
|
||||
### <a id="a_ev">4. Set up your environment</a>
|
||||
### <a id="a_ev">4. Set up your shell environment</a>
|
||||
|
||||
Create the `/usr/local/bin` directory. This is where you’ll place various
|
||||
binaries required by MMGen:
|
||||
|
|
@ -225,7 +226,17 @@ export PYTHONUTF8=1
|
|||
Save and exit. Close and reopen the terminal window to update your working
|
||||
environment.
|
||||
|
||||
### <a id="a_ec">5. Install the Python ECDSA library (offline install only)</a>
|
||||
### <a id="a_pev">5. Choose your Python environment</a>
|
||||
|
||||
If you have other Python packages installed under MSYS2, then you may wish to
|
||||
use a [virtual environment][vv] to keep your MMGen Wallet installation isolated
|
||||
from them.
|
||||
|
||||
If you choose not to use a virtual environment, then you should add `--user` to
|
||||
the command line every time you run `pip install` as directed below. This will
|
||||
prevent pip from installing packages in the system directory.
|
||||
|
||||
### <a id="a_ec">6. Install the Python ECDSA library (offline install only)</a>
|
||||
|
||||
On your online machine:
|
||||
|
||||
|
|
@ -239,7 +250,7 @@ Copy the downloaded file to your offline machine and install:
|
|||
$ python3 -m pip install ecdsa-*.whl
|
||||
```
|
||||
|
||||
### <a id="a_sc">6. Install the standalone scrypt package (required for strong password hashing)</a>
|
||||
### <a id="a_sc">7. Install the standalone scrypt package (required for strong password hashing)</a>
|
||||
|
||||
Due to a faulty implementation of the `scrypt` function included in Python’s
|
||||
`hashlib`, the standalone `scrypt` module is required for stronger-than-default
|
||||
|
|
@ -264,7 +275,7 @@ $ python3 -m build --no-isolation
|
|||
$ python3 -m pip install dist/*.whl
|
||||
```
|
||||
|
||||
### <a id="a_se">7. Clone and copy the secp256k1 library (offline install only)</a>
|
||||
### <a id="a_se">8. Clone and copy the secp256k1 library (offline install only)</a>
|
||||
|
||||
On your online machine, clone the secp256k1 repository from Github:
|
||||
|
||||
|
|
@ -281,7 +292,7 @@ $ cp -a /path/to/secp256k1/repo/secp256k1 ~/.cache/mmgen
|
|||
$ ls ~/.cache/mmgen/secp256k1/autogen.sh # check that files were correctly copied
|
||||
```
|
||||
|
||||
### <a id="a_mm">8. Install MMGen Wallet</a>
|
||||
### <a id="a_mm">9. Install MMGen Wallet</a>
|
||||
|
||||
Now you’re ready to install MMGen Wallet itself.
|
||||
|
||||
|
|
@ -339,7 +350,7 @@ occasion.
|
|||
Note that MMGen Wallet has a test suite. Refer to the [Test Suite][ts] wiki
|
||||
page for details.
|
||||
|
||||
### <a id="a_pe">9. Install Python Ethereum dependencies (if applicable)</a>
|
||||
### <a id="a_pe">10. Install Python Ethereum dependencies (if applicable)</a>
|
||||
|
||||
If you’ll be using MMGen Wallet with Ethereum, then you must install a few
|
||||
dependencies. From the MMGen repository root, type the following:
|
||||
|
|
@ -363,7 +374,7 @@ $ python3 -m pip download --no-deps -r eth-requirements.txt
|
|||
$ python3 -m pip install --no-deps *.whl
|
||||
```
|
||||
|
||||
### <a id="a_cd">10. Install and launch your coin daemons</a>
|
||||
### <a id="a_cd">11. Install and launch your coin daemons</a>
|
||||
|
||||
At this point your installation will be able to generate wallets, along with
|
||||
keys and addresses for all supported coins. However, if you intend to do any
|
||||
|
|
@ -374,7 +385,7 @@ ETC and ERC20 tokens.
|
|||
Go to the [**Install Bitcoind and other supported coin daemons**][ib] wiki page
|
||||
and follow the instructions for your coins of choice. You can skip the parts
|
||||
about adding to the Windows path, since your `PATH` variable was taken care of
|
||||
in [Step 5](#a_ev). Note that the daemons must be installed on both your
|
||||
in [Step 4](#a_ev). Note that the daemons must be installed on both your
|
||||
online and offline machines.
|
||||
|
||||
To transact ETH, ETC or ERC20 tokens you’ll need the latest Geth or Parity (for
|
||||
|
|
@ -388,7 +399,7 @@ Please note that Ethereum daemons perform rather poorly under Windows due to
|
|||
threading limitations. Unless you have very fast hardware, transacting and
|
||||
syncing the blockchain will be painfully slow.
|
||||
|
||||
### <a id="a_do">11. You’re done!</a>
|
||||
### <a id="a_do">12. You’re done!</a>
|
||||
|
||||
Congratulations, your installation is now complete, and you can proceed to
|
||||
[**Getting Started with MMGen Wallet**][gs]. Note that all features supported
|
||||
|
|
@ -406,12 +417,13 @@ MSYS2 too. Please be aware of the following, however:
|
|||
### <a id="a_us">Upgrading MSYS2</a>
|
||||
|
||||
You should periodically upgrade your MSYS2 installation, especially when [new
|
||||
releases][mh] appear. You can check your currently installed version of MSYS2
|
||||
by issuing the command `pacman -Ss msys2-base`.
|
||||
releases][mh] appear. The most reliable way to check your current MSYS2 version
|
||||
is to examine the date on the installation binary, which you’ve hopefully saved
|
||||
somewhere.
|
||||
|
||||
To perform the upgrade, just repeat [Step 3](#a_ug) of this guide.
|
||||
To perform the upgrade, just repeat [Step 2](#a_ug) of this guide.
|
||||
|
||||
Note that [Step 4](#a_md) need not be performed, as the MMGen dependencies
|
||||
Note that [Step 3](#a_md) need not be performed, as the MMGen dependencies
|
||||
are already in `pacman`’s database.
|
||||
|
||||
### <a id="a_um">Upgrading MMGen Wallet</a>
|
||||
|
|
@ -476,3 +488,4 @@ steps.
|
|||
[ax]: command-help-autosign
|
||||
[mc]: Altcoin-and-Forkcoin-Support#a_xmr
|
||||
[ts]: Test-Suite
|
||||
[vv]: https://docs.python.org/3/library/venv.html
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
## Introduction
|
||||
|
||||
In addition to low-level subsystems, the suite tests the overall operation of
|
||||
the MMGen Wallet’s commands by running them interactively as a user would. Thus
|
||||
the test suite is useful not only for ensuring the MMGen Wallet system is
|
||||
correctly installed and working on your platform but also for demonstrating how
|
||||
it works.
|
||||
MMGen Wallet’s commands by running them interactively as a user would. Thus the
|
||||
test suite is useful not only for ensuring the MMGen Wallet system is correctly
|
||||
installed and working on your platform but also for demonstrating how it works.
|
||||
|
||||
BTC-only testing requires installation of Bitcoin Core and pycoin only, while
|
||||
altcoin testing requires additional helper programs and libraries, installation
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue