Browse Source

update README, release notes, wiki documentation

The MMGen Project 2 years ago
parent
commit
fe34fca36b

+ 3 - 0
README.md

@@ -108,6 +108,8 @@ widespread standard.
   online passwords.  Password lists are identified by arbitrarily chosen strings
   online passwords.  Password lists are identified by arbitrarily chosen strings
   like “alice@github” or “bob@reddit”.  Passwords of different lengths and
   like “alice@github” or “bob@reddit”.  Passwords of different lengths and
   formats, including BIP39, are supported.
   formats, including BIP39, are supported.
+- **[Message signing][MS]** for BTC, BCH, LTC, ETH and ETC.  Signing for
+  multiple addresses and autosigning are supported.
 - **Selectable seed lengths** of 128, 192 or 256 bits.  Subwallets may have
 - **Selectable seed lengths** of 128, 192 or 256 bits.  Subwallets may have
   shorter seeds than their parent.
   shorter seeds than their parent.
 - **User-enhanced entropy:** All operations requiring random data will prompt
 - **User-enhanced entropy:** All operations requiring random data will prompt
@@ -194,6 +196,7 @@ Donate (BTC,BCH): 15TLdmi5NYLdqmtCqczUs5pBPkJDXRs83w
 [X]: https://github.com/mmgen/mmgen/wiki/autosign-[MMGen-command-help]
 [X]: https://github.com/mmgen/mmgen/wiki/autosign-[MMGen-command-help]
 [xm]: https://github.com/mmgen/mmgen/wiki/xmrwallet-[MMGen-command-help]
 [xm]: https://github.com/mmgen/mmgen/wiki/xmrwallet-[MMGen-command-help]
 [G]: https://github.com/mmgen/mmgen/wiki/passgen-[MMGen-command-help]
 [G]: https://github.com/mmgen/mmgen/wiki/passgen-[MMGen-command-help]
+[MS]: https://github.com/mmgen/mmgen/wiki/msg-[MMGen-command-help]
 [T]: https://github.com/mmgen/mmgen/wiki/Getting-Started-with-MMGen#a_ct
 [T]: https://github.com/mmgen/mmgen/wiki/Getting-Started-with-MMGen#a_ct
 [E]: https://github.com/mmgen/mmgen/wiki/Altcoin-and-Forkcoin-Support#a_tx
 [E]: https://github.com/mmgen/mmgen/wiki/Altcoin-and-Forkcoin-Support#a_tx
 [ag]: https://github.com/mmgen/mmgen/wiki/addrgen-[MMGen-command-help]
 [ag]: https://github.com/mmgen/mmgen/wiki/addrgen-[MMGen-command-help]

+ 5 - 5
doc/release-notes/release-notes-v13.1.0.md

@@ -1,12 +1,11 @@
 ### MMGen Version 13.1.0 Release Notes
 ### MMGen Version 13.1.0 Release Notes
 
 
-This release introduces a major reorganization of the MMGen code base: its
-full modularization and a clean separation between protocol-dependent and
-protocol-independent code.
+This release completes the process of modularizing the MMGen code base and
+fully separating protocol-dependent from protocol-independent code.
 
 
 In addition to improved reliability, maintainability and extensibility, this
 In addition to improved reliability, maintainability and extensibility, this
-code overhaul has led to significant performance improvements and reductions
-in memory usage.
+major code overhaul has led to significant performance improvements and
+reductions in memory usage.
 
 
 #### Important new features:
 #### Important new features:
 
 
@@ -23,6 +22,7 @@ in memory usage.
 
 
 #### Important bugfixes:
 #### Important bugfixes:
 
 
+ - RPC: disable `*_PROXY` environment vars for `requests` backend: ba2cc40d
  - mmgen-tool pubhex2addr: fix incorrect output for ETH, XMR and ZEC-Z
  - mmgen-tool pubhex2addr: fix incorrect output for ETH, XMR and ZEC-Z
    protocols: af65676d
    protocols: af65676d
  - mmgen-tool addr2pubhash: reject non-PKH addresses: 4e3b11a3
  - mmgen-tool addr2pubhash: reject non-PKH addresses: 4e3b11a3

+ 6 - 3
doc/wiki/install-linux/Install-MMGen-on-Linux.md

@@ -29,7 +29,7 @@ any old installations under `/usr` or `/usr/local`.
 	$ cd mmgen
 	$ cd mmgen
 	$ git checkout stable_linux # see 'Note' below
 	$ git checkout stable_linux # see 'Note' below
 	$ python3 -m build --no-isolation
 	$ python3 -m build --no-isolation
-	$ python3 -m pip install --user --upgrade dist/*.whl # see 'Testing Note' below
+	$ python3 -m pip install --user --upgrade dist/*.whl # see 'Install Note' below
 	$ cd ..
 	$ cd ..
 
 
 **Note:** if you want to use features that have appeared since the latest
 **Note:** if you want to use features that have appeared since the latest
@@ -40,8 +40,11 @@ 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
 stable release.  In addition, new code may require dependencies or installation
 steps not yet covered in the documentation.
 steps not yet covered in the documentation.
 
 
-**Testing Note:** MMGen may be tested in place prior to installation.  Refer to
-the [Test Suite][ts] wiki page for details.
+**Install Note:** The `--force` and `--no-deps` options also come in handy
+on occasion.
+
+If you plan to run the test suite, additional installation steps are required.
+Refer to the [Test Suite][ts] wiki page for details.
 
 
 Install your coin daemon(s).  To install prebuilt binaries, go [here][01].  To
 Install your coin daemon(s).  To install prebuilt binaries, go [here][01].  To
 install from source, go [here][02].
 install from source, go [here][02].

+ 33 - 30
doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md

@@ -150,6 +150,9 @@ will produce a listing of the same directory.
 > trick using '>' works for most shell commands, by the way).  Copy `urls.txt`
 > trick using '>' works for most shell commands, by the way).  Copy `urls.txt`
 > to your online machine and download the URLs listed in it.
 > to your online machine and download the URLs listed in it.
 
 
+> *NOTE: as of 01.05.2022, files in the `clang64` directory were found under
+> `mingw64` instead, so these URLS may have to be edited accordingly.*
+
 > Create a new folder on your offline machine:
 > Create a new folder on your offline machine:
 
 
 		$ mkdir packages1
 		$ mkdir packages1
@@ -187,7 +190,7 @@ specifically required by MMGen.
 
 
 Install the MMGen requirements and their dependencies:
 Install the MMGen requirements and their dependencies:
 
 
-	$ pacman -S tar git vim autoconf automake-wrapper autogen libtool \
+	$ pacman -S tar git vim autoconf automake-wrapper autogen libtool cygrunsrv \
 		mingw64/mingw-w64-x86_64-python-build \
 		mingw64/mingw-w64-x86_64-python-build \
 		mingw64/mingw-w64-x86_64-python-wheel \
 		mingw64/mingw-w64-x86_64-python-wheel \
 		mingw64/mingw-w64-x86_64-python-pip \
 		mingw64/mingw-w64-x86_64-python-pip \
@@ -219,7 +222,7 @@ Add the following two lines to the end of the file (if this is a Bitcoin-only
 installation, you may omit the Litecoin and Bitcoin Cash Node components of the
 installation, you may omit the Litecoin and Bitcoin Cash Node components of the
 path):
 path):
 
 
-	export PATH="/mingw64/bin:$PATH:/c/Program Files/Bitcoin/daemon:/c/Program Files/Litecoin/daemon:/c/Program Files/Bitcoin-Cash-Node/daemon"
+	export PATH="$HOMEPATH/.local/bin:/mingw64/bin:$PATH:/c/Program Files/Bitcoin/daemon:/c/Program Files/Litecoin/daemon:/c/Program Files/Bitcoin-Cash-Node/daemon"
 	export PYTHONUTF8=1
 	export PYTHONUTF8=1
 
 
 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
@@ -244,12 +247,12 @@ therefore highly recommended.
 
 
 On your online machine, download the tar archive:
 On your online machine, download the tar archive:
 
 
-	$ pip3 download --no-deps scrypt==0.8.13
+	$ pip3 download --no-deps scrypt==0.8.20
 
 
 On your offline machine, unpack and enter the archive:
 On your offline machine, unpack and enter the archive:
 
 
-	$ tar fax scrypt-0.8.13.tar.gz
-	$ cd scrypt-0.8.13
+	$ tar fax scrypt-0.8.20.tar.gz
+	$ cd scrypt-0.8.20
 
 
 Open the file `setup.py` in your text editor.  Right before the line beginning
 Open the file `setup.py` in your text editor.  Right before the line beginning
 with:
 with:
@@ -297,25 +300,26 @@ repository:
 If you’re doing an offline install, then copy the cloned mmgen directory to
 If you’re doing an offline install, then copy the cloned mmgen directory to
 your offline machine.
 your offline machine.
 
 
-Enter the repo directory and build:
+Enter the repo directory, build and install:
 
 
 	$ cd mmgen
 	$ cd mmgen
 	$ git checkout stable_msys2 # See 'Note' below
 	$ git checkout stable_msys2 # See 'Note' below
 	$ python3 -m build --no-isolation
 	$ python3 -m build --no-isolation
-
-Exit the repo directory and install:
-
-	$ cd ..
-	$ python3 -m pip install --upgrade mmgen/dist/*.whl
+	$ python3 -m pip install --user --upgrade dist/*.whl
 
 
 **Note:** if you want to use features that have appeared since the latest
 **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
-the `master` branch.  Please bear in mind, however, that security
-vulnerabilities are more likely to be present in new code than in a stable
-release.  In addition, while the tip of `master` is always tested on Linux
-before being pushed to the public repository, it’s not guaranteed to install or
-run on MSYS2.  Installation or runtime issues may also arise due to missing
-dependencies or installation steps not yet covered in the documentation.
+`stable_msys2` release, then you can omit the `git checkout stable_msys2`
+step and remain on the `master` branch.  Please bear in mind, however, that
+security vulnerabilities are more likely to be present in new code than in a
+stable release.  In addition, while the tip of `master` is always tested on
+Linux before being pushed to the public repository, it’s not guaranteed to
+install or run on MSYS2.  Installation or runtime issues may also arise due
+to missing dependencies or installation steps not yet covered in the
+documentation.
+
+**Install Note:** The `--force` and `--no-deps` options also come in handy on
+occasion.  Note that MMGen has a test suite.  Refer to the [Test Suite][ts]
+wiki page for details.
 
 
 ### <a name='a_pe'>10. Install Python Ethereum dependencies (Ethereum users only)</a>
 ### <a name='a_pe'>10. Install Python Ethereum dependencies (Ethereum users only)</a>
 
 
@@ -347,19 +351,17 @@ about adding to the Windows path, since your `PATH` variable was taken care of
 in [Step 5](#a_ev).  Note that the daemons must be installed on both your
 in [Step 5](#a_ev).  Note that the daemons must be installed on both your
 online and offline machines.
 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,
-unlike the other coin daemons, is installed on the online machine only.  Copy
-the `openethereum.exe` and `ethkey.exe` binaries to `/usr/local/bin`.  Please
-note that OpenEthereum performs very poorly under Windows due to threading
-limitations.  Unless you have very fast hardware, transacting and syncing the
-blockchain could be painfully slow.
-
-Typically you’ll wish to launch OpenEthereum as follows:
-
-	$ openethereum.exe --jsonrpc-apis=all
+To transact ETH, ETC or ERC20 tokens you’ll need the latest Geth, OpenEthereum
+or Parity (for Ethereum Classic) binary.  See the
+[**Altcoin-and-Forkcoin-Support**][pl] page for information on downloading and
+launching these daemons.  The `parity.exe`, `openethereum.exe` and `ethkey.exe`
+binaries should be copied to `/usr/local/bin`.  For Geth, download and run the
+Windows installer and add `/c/Program Files/Geth` to the end of the `PATH`
+variable in your `~/.bashrc` file:
 
 
-More information on OpenEthereum’s command-line options can be found [here][pl].
+Please note that Ethereum daemons perform rather poorly under Windows due to
+threading limitations.  Unless you have very fast hardware, transacting and
+syncing the blockchain might be painfully slow.
 
 
 ### <a name='a_do'>12. You’re done!</a>
 ### <a name='a_do'>12. You’re done!</a>
 
 
@@ -425,3 +427,4 @@ continue from the `git checkout stable_msys2` step.
 [pl]: Altcoin-and-Forkcoin-Support#a_oe
 [pl]: Altcoin-and-Forkcoin-Support#a_oe
 [ax]: autosign-[MMGen-command-help]
 [ax]: autosign-[MMGen-command-help]
 [mc]: Altcoin-and-Forkcoin-Support#a_xmr
 [mc]: Altcoin-and-Forkcoin-Support#a_xmr
+[ts]: Test-Suite

+ 7 - 4
doc/wiki/using-mmgen/Altcoin-and-Forkcoin-Support.md

@@ -4,7 +4,7 @@
 
 
 #### [Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens](#a_eth)
 #### [Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens](#a_eth)
 * [Install the Ethereum dependencies](#a_ed)
 * [Install the Ethereum dependencies](#a_ed)
-* [Install and run Geth or OpenEthereum](#a_oe)
+* [Install and run Geth, Parity or OpenEthereum](#a_oe)
 * [Transacting and other basic operations](#a_tx)
 * [Transacting and other basic operations](#a_tx)
 * [Creating and deploying ERC20 tokens](#a_dt)
 * [Creating and deploying ERC20 tokens](#a_dt)
 
 
@@ -35,13 +35,16 @@ From the MMGen repository root, type:
 
 
 	$ python3 -m pip install --no-deps --user -r eth-requirements.txt
 	$ python3 -m pip install --no-deps --user -r eth-requirements.txt
 
 
-#### <a name='a_oe'>Install and run Geth or OpenEthereum</a>
+#### <a name='a_oe'>Install and run Geth, Parity or OpenEthereum</a>
 
 
 MMGen can use either Go-Ethereum (Geth) or OpenEthereum to communicate with
 MMGen can use either Go-Ethereum (Geth) or OpenEthereum to communicate with
 the Ethereum network.  For information on installing Geth or OE on your
 the Ethereum network.  For information on installing Geth or OE on your
 system, visit the the Geth [Github repo][ge], or the OpenEthereum [wiki][ow]
 system, visit the the Geth [Github repo][ge], or the OpenEthereum [wiki][ow]
-or [Github repo][og].  The daemons are not used for transaction signing, so
-you needn’t install them on your offline machine.
+or [Github repo][og].  On Arch Linux systems, Go-Ethereum and OpenEthereum are
+packages and may be installed with `pacman`.
+
+Note that Ethereum daemons are not used for transaction signing, so you
+needn’t install them on your offline machine.
 
 
 For Geth, the following command-line options are required:
 For Geth, the following command-line options are required:
 
 

+ 5 - 4
doc/wiki/using-mmgen/Getting-Started-with-MMGen.md

@@ -119,7 +119,7 @@ require a wallet or other seed source.*
 location other than your MMGen data directory.  Otherwise, it’s recommended,
 location other than your MMGen data directory.  Otherwise, it’s recommended,
 as it frees you from having to type your wallet filename on the command line.*
 as it frees you from having to type your wallet filename on the command line.*
 
 
-*The following examples suppose that you’ve chosen to use a default wallet.
+*The following examples assume that you’ve chosen to use a default wallet.
 If you haven’t, then you must include the path to a wallet file or other seed
 If you haven’t, then you must include the path to a wallet file or other seed
 source in all commands where a seed source is required.*
 source in all commands where a seed source is required.*
 
 
@@ -966,10 +966,11 @@ preceding step.  Information on recently added features can be found by typing
 `git log` or visiting the commits page on [Github][hc] or [Gitlab][lc].
 `git log` or visiting the commits page on [Github][hc] or [Gitlab][lc].
 
 
 Check the latest release notes in `doc/release-notes` and make note of any new
 Check the latest release notes in `doc/release-notes` and make note of any new
-features or requirements.  Now perform the install:
+features or requirements.  Now build and install:
 
 
-	$ sudo ./setup.py install # Linux
-	$ ./setup.py install      # Windows / MSYS2
+	$ rm -rf dist build
+	$ python3 -m build --no-isolation
+	$ python3 -m pip install --user --upgrade dist/*.whl
 
 
 [01]: Tracking-and-spending-ordinary-Bitcoin-addresses
 [01]: Tracking-and-spending-ordinary-Bitcoin-addresses
 [02]: https://tpfaucet.appspot.com
 [02]: https://tpfaucet.appspot.com

+ 1 - 1
doc/wiki/using-mmgen/Recovering-Your-Keys-Without-the-MMGen-Software.md

@@ -287,7 +287,7 @@ out at the Python prompt:
 	L3R8Fn21PsY3PWgT8BMggFwXswA2EZntwEGFS5mfDJpSiLq29a9F # matches key for FE3C6545:S:1 above
 	L3R8Fn21PsY3PWgT8BMggFwXswA2EZntwEGFS5mfDJpSiLq29a9F # matches key for FE3C6545:S:1 above
 
 
 Explanation: the variable `b58a` holds the Base 58 alphabet; `num` holds the key
 Explanation: the variable `b58a` holds the Base 58 alphabet; `num` holds the key
-in decimal, converted from hexidecimal by Python’s `int()` function; the third
+in decimal, converted from hexadecimal by Python’s `int()` function; the third
 line does the base-58 conversion; and the last line formats the result by
 line does the base-58 conversion; and the last line formats the result by
 reversing the order of the digits, converting it to a string and stripping off
 reversing the order of the digits, converting it to a string and stripping off
 the leading zeroes (‘1’s).
 the leading zeroes (‘1’s).

+ 1 - 1
mmgen/data/version

@@ -1 +1 @@
-13.1.dev29
+13.1.dev30