Browse Source

update documentation from wiki

The MMGen Project 3 years ago
parent
commit
e250492baa
1 changed files with 84 additions and 18 deletions
  1. 84 18
      doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md

+ 84 - 18
doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md

@@ -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