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
 MMGen is supported on Microsoft Windows via [MSYS2][mh], which provides a
 Unix-like command-line environment within Windows.  Windows 7 and later versions
 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
 sections entitled **Offline install.**  When doing an online install you may
 skip over these sections.
 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
 Download the MSYS2 executable installer for your architecture from the [MSYS2
 homepage][mh], but ignore the installation instructions there.
 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,
 Run the installer, accepting all defaults.  At the end of the installation,
 uncheck “Run MSYS2 now” and click Finish.
 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,
 MMGen is incompatible with the terminal provided by the MSYS2 project.  However,
 it works just fine with Windows’ native PowerShell.
 it works just fine with Windows’ native PowerShell.
@@ -57,9 +84,9 @@ following commands, for example:
 
 
 will produce a listing of the same directory.
 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.
 > 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
 		$ pacman -Su
 
 
-#### Offline install:
+#### <a name='a_ug2'>Offline install:</a>
 
 
 > You must now download the required database and package files from the
 > 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
 > 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.
 > 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
 Now that your system’s fully up to date, you’re ready to install the packages
 specifically required by MMGen.
 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>`
 > As you’ve probably noticed by now, the command `pacman -S <pgknames>`
 > installs MSYS2 packages and their dependencies, while `pacman -Sp
 > 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-pysocks \
 		mingw64/mingw-w64-x86_64-python-requests
 		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
 Create the `/usr/local/bin` directory.  This is where you’ll place various
 binaries required by MMGen:
 binaries required by MMGen:
@@ -198,7 +225,7 @@ path):
 Save and exit.  Close and reopen the terminal window to update your working
 Save and exit.  Close and reopen the terminal window to update your working
 environment.
 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:
 On your online machine:
 
 
@@ -208,7 +235,7 @@ Copy the downloaded file to your offline machine and install:
 
 
 	$ pip3 install --user ecdsa-*.whl
 	$ 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
 Thanks to a faulty implementation of the `scrypt` function included in Python’s
 `hashlib`, the standalone `scrypt` module is required for stronger-than-default
 `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 build --compiler=mingw32
 	$ python3 setup.py install
 	$ 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:
 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
 	$ cp -a /path/to/secp256k1/repo/secp256k1 ~/.cache/mmgen
 	$ ls ~/.cache/mmgen/secp256k1/autogen.sh # check that the location is correct
 	$ 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
 Now you’re ready to install MMGen itself.  On your online machine, clone the
 repository:
 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
 run on MSYS2.  Installation or runtime issues may also arise due to missing
 dependencies or installation steps not yet covered in the documentation.
 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
 If you’ll be using MMGen with Ethereum, then you must install a few
 dependencies.  From the MMGen repository root, type the following:
 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
 	$ 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
 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
 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
 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
 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
 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
 To transact ETH, ETC or ERC20 tokens you’ll need the latest OpenEthereum binary
 build for Windows from the [OpenEthereum Github repository][og].  OpenEthereum,
 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].
 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
 Congratulations, your installation is now complete, and you can proceed to
 [**Getting Started with MMGen**][gs].  Note that all features supported by
 [**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
 + The Bitcoin Cash Node daemon cannot handle non-ASCII pathnames.  This is an
   issue with the Bitcoin Cash Node implementation for Windows, not MMGen.
   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
 [mh]: https://www.msys2.org
 [mp]: https://sourceforge.net/projects/msys2
 [mp]: https://sourceforge.net/projects/msys2
 [mw]: https://github.com/msys2/msys2/wiki
 [mw]: https://github.com/msys2/msys2/wiki
 [ov]: https://github.com/mmgen/mmgen/releases/tag/v0.9.8
 [ov]: https://github.com/mmgen/mmgen/releases/tag/v0.9.8
 [sd]: https://download.sysinternals.com/files/SDelete.zip
 [sd]: https://download.sysinternals.com/files/SDelete.zip
 [og]: https://github.com/openethereum/openethereum/releases
 [og]: https://github.com/openethereum/openethereum/releases
+[mr]: https://github.com/mmgen/mmgen/releases
 [di]: Deprecated-MSWin-Installation
 [di]: Deprecated-MSWin-Installation
 [ib]: Install-Bitcoind
 [ib]: Install-Bitcoind
 [gs]: Getting-Started-with-MMGen
 [gs]: Getting-Started-with-MMGen