From 8ab3f5889badc9a382fec4f8386e36b4f279438f Mon Sep 17 00:00:00 2001 From: MMGen Date: Wed, 5 Jun 2019 14:29:50 +0000 Subject: [PATCH] scrypt package installation for MSYS2; minor fixes --- Install-MMGen-on-Debian-or-Ubuntu-Linux.md | 2 +- Install-MMGen-on-Microsoft-Windows.md | 49 +++++++++++++++++++--- MMGen-Quick-Start-with-Regtest-Mode.md | 14 +++---- 3 files changed, 52 insertions(+), 13 deletions(-) diff --git a/Install-MMGen-on-Debian-or-Ubuntu-Linux.md b/Install-MMGen-on-Debian-or-Ubuntu-Linux.md index 91bdb92..eb31dfc 100644 --- a/Install-MMGen-on-Debian-or-Ubuntu-Linux.md +++ b/Install-MMGen-on-Debian-or-Ubuntu-Linux.md @@ -5,7 +5,7 @@ Install required Debian/Ubuntu packages: $ sudo apt-get install autoconf git libgmp-dev libssl-dev libtool wipe $ sudo apt-get install python3-dev python3-ecdsa python3-pexpect python3-setuptools python3-cryptography python3-nacl python3-pip python3-gmpy2 -Using the [pip3][P] installer, install the Python scrypt library (optional for Python >= v3.6): +Using the [pip3][P] installer, install the Python scrypt library $ sudo -H pip3 install scrypt diff --git a/Install-MMGen-on-Microsoft-Windows.md b/Install-MMGen-on-Microsoft-Windows.md index a015774..5551b44 100644 --- a/Install-MMGen-on-Microsoft-Windows.md +++ b/Install-MMGen-on-Microsoft-Windows.md @@ -163,7 +163,8 @@ Install the packages and their dependencies: mingw64/mingw-w64-x86_64-python3-gmpy2 \ mingw64/mingw-w64-x86_64-libsodium \ mingw64/mingw-w64-x86_64-python3-pynacl \ - mingw64/mingw-w64-x86_64-python3-pip + mingw64/mingw-w64-x86_64-python3-pip \ + mingw64/mingw-w64-x86_64-gcc ### 5. Set your PATH environmental variable @@ -177,7 +178,7 @@ Add the following line to the end of the file, save and exit: Close and reopen the terminal window to update your working environment. -### 6. Install the remaining MMGen dependencies +### 6. Install MMGen dependencies not provided by MSYS2 Three of MMGen’s Python dependencies, `ecdsa`, `py_ecc` and `mypy_extensions`, are not provided by MSYS2. If you’re online, you can install them using the pip @@ -195,7 +196,45 @@ containing the files and install them as follows: $ pip3 install --no-deps *.whl -### 7. Install MMGen +### 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 +password hashing, i.e. hash presets greater than `3`. Installing the package is +therefore highly recommended. + +On your online machine, download the tar archive: + + $ pip3 download --no-deps scrypt==0.8.13 + +On your offline machine, unpack and enter the archive: + + $ tar fax scrypt-0.8.13.tar.gz + $ cd scrypt-0.8.13 + +Open the file `setup.py` in your text editor. Right before the line beginning +with: + + scrypt_module = Extension( + +add the following line (with no indentation): + + includes = ['/mingw64/include'] + +Also change the line: + + libraries = ['libcrypto_static'] + +to read: + + libraries = ['libcrypto'] + +Save the file and exit the editor. Now build and install: + + $ python3 setup.py build --compiler=mingw32 + $ python3 setup.py install + +### 8. Install MMGen Now you’re ready to install MMGen itself. On your online machine, clone the repository: @@ -212,7 +251,7 @@ Enter the directory and install: $ git checkout stable_msys2 $ ./setup.py install -### 8. Install and launch your coin daemons +### 9. 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 @@ -240,7 +279,7 @@ Typically you’ll wish to launch Parity as follows: More information on Parity’s command-line options can be found [here][pl]. -### 9. You’re done! +### 10. You’re done! Congratulations, your installation is now complete, and you can proceed to [**Getting Started with MMGen**][gs]. Before doing so, however, you might want diff --git a/MMGen-Quick-Start-with-Regtest-Mode.md b/MMGen-Quick-Start-with-Regtest-Mode.md index 2e2098f..df7ff26 100644 --- a/MMGen-Quick-Start-with-Regtest-Mode.md +++ b/MMGen-Quick-Start-with-Regtest-Mode.md @@ -54,7 +54,7 @@ just imported: $ mmgen-regtest send mw42oJ94yRA6ZUNSzmMpjZDR74JNyvqzzZ 500 - Don’t forget to substitute your C:1 address for the one above! + Don’t forget to substitute your `C:1` address for the one above! 7. Make sure the funds reached their destination: @@ -91,8 +91,8 @@ step 7 will look something like this: 9304C211:S:3 2NF4y3y4CEjQCcssjX2BDLHT88XHn8z53JS - 0 TOTAL: 500 BTC -12. Split Alice’s funds, sending 200 BTC to address S:2 and the change to S:3. -Specify a fee of 20 satoshis/byte and make output quieter: +12. Split Alice’s funds, sending 200 BTC to address `S:2` and the change to +`S:3`. Specify a fee of 20 satoshis/byte and make the output quieter: $ mmgen-txdo --alice --tx-fee=20s --quiet 9304C211:S:2,300 9304C211:S:3 ... @@ -103,9 +103,9 @@ Specify a fee of 20 satoshis/byte and make output quieter: Note that for simplicity’s sake this tutorial uses the `mmgen-txdo` command to create, sign and send transactions in one operation. In normal, cold - wallet mode, your seed will be held on a separate offline computer which - you’ll use to sign transactions using the `mmgen-txsign` command. This is - explained in detail in the Getting Started guide. + wallet mode, you’d create the transaction with `mmgen-txcreate`, sign it + offline with `mmgen-txsign` and send it with `mmgen-txsend`. Use of these + commands is explained in detail in the [**Getting Started**][G] guide. 13. View the transaction in the mempool: @@ -175,4 +175,4 @@ Specify a fee of 20 satoshis/byte and make output quieter: 1163DDF1:C:2 n1oszhfAyRrHi7qJupyzaWXTcpMQGsGJEf From Alice 10 TOTAL: 510 BTC -[q]: MMGen-Quick-Start-with-Regtest-Mode +[G]: Getting-Started-with-MMGen#a_ct