update documentation from wiki

This commit is contained in:
The MMGen Project 2022-01-08 10:37:35 +00:00
commit e250492baa
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2

View file

@ -1,4 +1,29 @@
## 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 installation up to date](#a_u)
* [MSYS2](#a_us)
* [MMGen](#a_um)
## <a name='a_i'>Introduction</a>
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 +53,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
## <a name='a_m'>Install MSYS2 and MMGen</a>
### <a name='a_ms'>1. Install MSYS2</a>
Download the MSYS2 executable installer for your architecture from the [MSYS2
homepage][mh], but ignore the installation instructions there.
@ -36,7 +63,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
### <a name='a_ps'>2. Set up PowerShell as your MSYS2 terminal</a>
MMGen is incompatible with the terminal provided by the MSYS2 project. However,
it works just fine with Windows’ native PowerShell.
@ -57,9 +84,9 @@ following commands, for example:
will produce a listing of the same directory.
### 3. Upgrade MSYS2
### <a name='a_ug'>3. Upgrade MSYS2</a>
#### Online users:
#### <a name='a_ug1'>Online users:</a>
> Optionally edit your mirror lists as described in **Offline install** below.
@ -75,7 +102,7 @@ will produce a listing of the same directory.
$ pacman -Su
#### Offline install:
#### <a name='a_ug2'>Offline install:</a>
> 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 +170,12 @@ this folder.
> Your system upgrade is now complete.
### 4. Install MSYS2 MMGen dependencies
### <a name='a_md'>4. Install MSYS2 MMGen dependencies</a>
Now that your system’s fully up to date, you’re ready to install the packages
specifically required by MMGen.
#### Offline install:
#### <a name='a_md1'>Offline install:</a>
> As you’ve probably noticed by now, the command `pacman -S <pgknames>`
> installs MSYS2 packages and their dependencies, while `pacman -Sp
@ -177,7 +204,7 @@ Install the MMGen requirements and their dependencies:
mingw64/mingw-w64-x86_64-python-pysocks \
mingw64/mingw-w64-x86_64-python-requests
### 5. Set up your environment
### <a name='a_ev'>5. Set up your environment</a>
Create the `/usr/local/bin` directory. This is where you’ll place various
binaries required by MMGen:
@ -198,7 +225,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)
### <a name='a_ec'>6. Install the Python ECDSA library (offline install only)</a>
On your online machine:
@ -208,7 +235,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)
### <a name='a_sc'>7. Install the standalone scrypt package (required for strong password hashing)</a>
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 +273,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)
### <a name='a_se'>8. Clone and copy the secp256k1 library (offline install only)</a>
On your online machine, clone the secp256k1 repository from Github:
@ -259,7 +286,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
### <a name='a_mm'>9. Install MMGen</a>
Now you’re ready to install MMGen itself. On your online machine, clone the
repository:
@ -290,7 +317,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)
### <a name='a_pe'>10. Install Python Ethereum dependencies (Ethereum users only)</a>
If you’ll be using MMGen with Ethereum, then you must install a few
dependencies. From the MMGen repository root, type the following:
@ -306,7 +333,7 @@ directory containing the files and install them as follows:
$ pip3 install --no-deps --user *.whl
### 11. Install and launch your coin daemons
### <a name='a_cd'>11. Install and launch your coin daemons</a>
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
@ -317,8 +344,8 @@ 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. Note that the daemons must be installed on both your online and
offline machines.
in [Step 5](#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 OpenEthereum binary
build for Windows from the [OpenEthereum Github repository][og]. OpenEthereum,
@ -334,7 +361,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!
### <a name='a_do'>12. You’re done!</a>
Congratulations, your installation is now complete, and you can proceed to
[**Getting Started with MMGen**][gs]. Note that all features supported by
@ -347,12 +374,51 @@ 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.
## <a name='a_u'>Keeping your installation up to date</a>
### <a name='a_us'>MSYS2</a>
You should periodically upgrade your MSYS2 installation, especially when [new
releases][mh] of the installer appear. You can check your currently installed
version of MSYS2 by issuing the command `pacman -Ss msys2-base`.
To perform the upgrade, just repeat [Step 3](#a_ug) of this guide. Assuming
your currently configured download mirrors are functional, you can skip the
parts relating to downloading and editing mirrorlists.
Note that [Step 4](#a_md) need not be performed, as the MMGen dependencies
are already in `pacman`’s database.
### <a name='a_um'>MMGen</a>
You should periodically upgrade your MMGen installation from the MMGen public
repository, especially when [new releases][mr] appear. You can check your
currently installed version of MMGen by issuing the command `mmgen-tool
--version`.
To perform the upgrade, enter the MMGen repository root on your online
computer and issue the following commands:
$ git checkout master
$ git pull
$ git checkout stable_msys2 # See 'Note' to step 9
$ rm -r dist/* build/*
$ rm -r /mingw64/lib/python*/site-packages/{mmgen,MMGen}*
$ python3 -m build --no-isolation
$ cd ..
$ python3 -m pip install --upgrade mmgen/dist/*.whl
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
[ov]: https://github.com/mmgen/mmgen/releases/tag/v0.9.8
[sd]: https://download.sysinternals.com/files/SDelete.zip
[og]: https://github.com/openethereum/openethereum/releases
[mr]: https://github.com/mmgen/mmgen/releases
[di]: Deprecated-MSWin-Installation
[ib]: Install-Bitcoind
[gs]: Getting-Started-with-MMGen