From 0649dae53a416e45fbd6e927e3466424fd8cfdbc Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Wed, 5 Jan 2022 15:48:30 +0000 Subject: [PATCH] documentation updates - doc/wiki/install-linux/Install-MMGen-on-Linux.md - doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md - doc/wiki/using-mmgen/MMGen-Quick-Start-with-Regtest-Mode.md --- .../install-linux/Install-MMGen-on-Linux.md | 9 +- .../Install-MMGen-on-Microsoft-Windows.md | 101 ++++++++++++++---- .../MMGen-Quick-Start-with-Regtest-Mode.md | 2 +- 3 files changed, 85 insertions(+), 27 deletions(-) diff --git a/doc/wiki/install-linux/Install-MMGen-on-Linux.md b/doc/wiki/install-linux/Install-MMGen-on-Linux.md index 4dc952b3..60204d9d 100644 --- a/doc/wiki/install-linux/Install-MMGen-on-Linux.md +++ b/doc/wiki/install-linux/Install-MMGen-on-Linux.md @@ -22,6 +22,9 @@ For computers with no Internet connection, see **Note for offline machines** bel #### Install MMGen: +Make sure that `~/.local/bin` is in `PATH`. Existing MMGen users should delete +any old installations under `/usr` or `/usr/local`. + $ git clone https://github.com/mmgen/mmgen.git $ cd mmgen $ git checkout stable_linux # see 'Note' below @@ -37,12 +40,12 @@ security vulnerabilities are more likely to be present in new code than in a stable release. In addition, new code may require dependencies or installation steps not yet covered in the documentation. -Install your coin daemon(s). To install prebuilt binaries, go [here][01]. To -install from source, go [here][02]. - **Testing Note:** MMGen may be tested in place prior to installation. Refer to the [Test Suite][ts] wiki page for details. +Install your coin daemon(s). To install prebuilt binaries, go [here][01]. To +install from source, go [here][02]. + ##### Note for offline machines: The computer you’ve designated for offline use must be connected to the diff --git a/doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md b/doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md index ee1995e8..a9bd32b8 100644 --- a/doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md +++ b/doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md @@ -1,4 +1,27 @@ -## Introduction +## Table of Contents + +#### [Introduction](#a_i) + +#### [Install MSYS2 and MMGen](#a_m) +* [1. Install MSYS2](#a_ms) +* [2. Set up PowerShell as your MSYS2 terminal](#a_ps) +* [3. Upgrade MSYS2](#a_ug) + * [Online users](#a_ug1) + * [Offline install](#a_ug2) +* [4. Install MSYS2 MMGen dependencies](#a_md) + * [Offline install](#a_md1) +* [5. Set up your environment](#a_ev) +* [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](#a_mm) +* [10. Install Python Ethereum dependencies (Ethereum users only)](#a_pe) +* [11. Install and launch your coin daemons](#a_cd) +* [12. You’re done!](#a_do) + +#### [Keeping your MMGen installation up to date](#a_u) + +## Introduction MMGen is supported on Microsoft Windows via [MSYS2][mh], which provides a Unix-like command-line environment within Windows. Windows 7 and later versions @@ -28,7 +51,9 @@ that’s *already* offline. These steps will be additionally outlined in sections entitled **Offline install.** When doing an online install you may skip over these sections. -### 1. Install MSYS2 +## Install MSYS2 and MMGen + +### 1. Install MSYS2 Download the MSYS2 executable installer for your architecture from the [MSYS2 homepage][mh], but ignore the installation instructions there. @@ -36,7 +61,7 @@ homepage][mh], but ignore the installation instructions there. Run the installer, accepting all defaults. At the end of the installation, uncheck “Run MSYS2 now” and click Finish. -### 2. Set up PowerShell as your MSYS2 terminal +### 2. Set up PowerShell as your MSYS2 terminal MMGen is incompatible with the terminal provided by the MSYS2 project. However, it works just fine with Windows’ native PowerShell. @@ -57,9 +82,9 @@ following commands, for example: will produce a listing of the same directory. -### 3. Upgrade MSYS2 +### 3. Upgrade MSYS2 -#### Online users: +#### Online users: > Optionally edit your mirror lists as described in **Offline install** below. @@ -75,7 +100,7 @@ will produce a listing of the same directory. $ pacman -Su -#### Offline install: +#### Offline install: > You must now download the required database and package files from the > Internet on your online computer and copy them to your offline box. A USB @@ -143,12 +168,12 @@ this folder. > Your system upgrade is now complete. -### 4. Install MSYS2 MMGen dependencies +### 4. Install MSYS2 MMGen dependencies Now that your system’s fully up to date, you’re ready to install the packages specifically required by MMGen. -#### Offline install: +#### Offline install: > As you’ve probably noticed by now, the command `pacman -S ` > installs MSYS2 packages and their dependencies, while `pacman -Sp @@ -160,24 +185,24 @@ specifically required by MMGen. Install the MMGen requirements and their dependencies: - $ pacman -S tar git vim autoconf automake-wrapper autogen \ - mingw64/mingw-w64-x86_64-libtool \ + $ pacman -S tar git vim autoconf automake-wrapper autogen libtool \ + mingw64/mingw-w64-x86_64-python-build \ + mingw64/mingw-w64-x86_64-python-wheel \ + mingw64/mingw-w64-x86_64-python-pip \ + mingw64/mingw-w64-x86_64-libltdl \ mingw64/mingw-w64-x86_64-gcc \ mingw64/mingw-w64-x86_64-make \ mingw64/mingw-w64-x86_64-pcre \ mingw64/mingw-w64-x86_64-libsodium \ - mingw64/mingw-w64-x86_64-python-build \ - mingw64/mingw-w64-x86_64-python-wheel \ mingw64/mingw-w64-x86_64-python-cryptography \ mingw64/mingw-w64-x86_64-python-six \ mingw64/mingw-w64-x86_64-python-pexpect \ mingw64/mingw-w64-x86_64-python-gmpy2 \ mingw64/mingw-w64-x86_64-python-pynacl \ - mingw64/mingw-w64-x86_64-python-pip \ mingw64/mingw-w64-x86_64-python-pysocks \ mingw64/mingw-w64-x86_64-python-requests -### 5. Set up your environment +### 5. Set up your environment Create the `/usr/local/bin` directory. This is where you’ll place various binaries required by MMGen: @@ -198,7 +223,7 @@ path): Save and exit. Close and reopen the terminal window to update your working environment. -### 6. Install the Python ECDSA library (offline install only) +### 6. Install the Python ECDSA library (offline install only) On your online machine: @@ -208,7 +233,7 @@ Copy the downloaded file to your offline machine and install: $ pip3 install --user ecdsa-*.whl -### 7. Install the standalone scrypt package (required for strong password hashing) +### 7. Install the standalone scrypt package (required for strong password hashing) Thanks to a faulty implementation of the `scrypt` function included in Python’s `hashlib`, the standalone `scrypt` module is required for stronger-than-default @@ -246,7 +271,7 @@ Save the file and exit the editor. Now build and install: $ python3 setup.py build --compiler=mingw32 $ python3 setup.py install -### 8. Clone and copy the secp256k1 library (offline install only) +### 8. Clone and copy the secp256k1 library (offline install only) On your online machine, clone the secp256k1 repository from Github: @@ -259,7 +284,7 @@ directory into it: $ cp -a /path/to/secp256k1/repo/secp256k1 ~/.cache/mmgen $ ls ~/.cache/mmgen/secp256k1/autogen.sh # check that the location is correct -### 9. Install MMGen +### 9. Install MMGen Now you’re ready to install MMGen itself. On your online machine, clone the repository: @@ -270,11 +295,16 @@ repository: If you’re doing an offline install, then copy the cloned mmgen directory to your offline machine. -Enter the directory and install: +Enter the repo directory and build: $ cd mmgen $ git checkout stable_msys2 # See 'Note' below - $ ./setup.py install + $ python3 -m build --no-isolation + +Exit the repo directory and install: + + $ cd .. + $ python3 -m pip install --upgrade mmgen/dist/*.whl **Note:** if you want to use features that have appeared since the latest `stable_msys2` release, then you can omit the `git checkout` step and remain on @@ -285,7 +315,7 @@ before being pushed to the public repository, it’s not guaranteed to install o run on MSYS2. Installation or runtime issues may also arise due to missing dependencies or installation steps not yet covered in the documentation. -### 10. Install Python Ethereum dependencies (Ethereum users only) +### 10. Install Python Ethereum dependencies (Ethereum users only) If you’ll be using MMGen with Ethereum, then you must install a few dependencies. From the MMGen repository root, type the following: @@ -301,7 +331,7 @@ directory containing the files and install them as follows: $ pip3 install --no-deps --user *.whl -### 11. Install and launch your coin daemons +### 11. Install and launch your coin daemons At this point your MMGen installation will be able to generate wallets, along with keys and addresses for all supported coins. However, if you intend to do @@ -329,7 +359,7 @@ Typically you’ll wish to launch OpenEthereum as follows: More information on OpenEthereum’s command-line options can be found [here][pl]. -### 12. You’re done! +### 12. You’re done! Congratulations, your installation is now complete, and you can proceed to [**Getting Started with MMGen**][gs]. Note that all features supported by @@ -342,6 +372,31 @@ Please be aware of the following, however: + The Bitcoin Cash Node daemon cannot handle non-ASCII pathnames. This is an issue with the Bitcoin Cash Node implementation for Windows, not MMGen. +## Keeping your MMGen installation up to date + +You should periodically update your MMGen installation from the MMGen public +repository, especially when new releases appear. This can be done by entering +the MMGen repository root on your online computer and issuing the following +commands: + + $ git checkout master + $ git pull + $ git checkout stable_msys2 # See 'Note' to step 9 + +Then invoke the following (for newer MSYS2 installations): + + $ python3 -m build --no-isolation + $ cd .. + $ python3 -m pip install --upgrade mmgen/dist/*.whl + +Or the following (for pre-November 2021 MSYS2 installations): + + $ python3 setup.py install + +To update your offline installation, copy the updated repository (after `git +pull`) to your offline machine, `cd` to the root of the copied repository and +continue from the `git checkout stable_msys2` step. + [mh]: https://www.msys2.org [mp]: https://sourceforge.net/projects/msys2 [mw]: https://github.com/msys2/msys2/wiki diff --git a/doc/wiki/using-mmgen/MMGen-Quick-Start-with-Regtest-Mode.md b/doc/wiki/using-mmgen/MMGen-Quick-Start-with-Regtest-Mode.md index b7148cf7..9542563c 100644 --- a/doc/wiki/using-mmgen/MMGen-Quick-Start-with-Regtest-Mode.md +++ b/doc/wiki/using-mmgen/MMGen-Quick-Start-with-Regtest-Mode.md @@ -6,7 +6,7 @@ All of MMGen’s functionality is available in regtest mode, making it an ideal way to learn to use the MMGen wallet without risking real coins. To send a transaction or perform any other operation as Bob or Alice, just add -the `--bob` or `--alice` option to the relevant MMGen command. +the `--bob` or `--alice` option to the applicable MMGen command. This tutorial provides a quick, hands-on introduction.