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
   like “alice@github” or “bob@reddit”.  Passwords of different lengths and
   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
   shorter seeds than their parent.
 - **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]
 [xm]: https://github.com/mmgen/mmgen/wiki/xmrwallet-[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
 [E]: https://github.com/mmgen/mmgen/wiki/Altcoin-and-Forkcoin-Support#a_tx
 [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
 
-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
-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:
 
@@ -23,6 +22,7 @@ in memory usage.
 
 #### Important bugfixes:
 
+ - RPC: disable `*_PROXY` environment vars for `requests` backend: ba2cc40d
  - mmgen-tool pubhex2addr: fix incorrect output for ETH, XMR and ZEC-Z
    protocols: af65676d
  - 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
 	$ git checkout stable_linux # see 'Note' below
 	$ 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 ..
 
 **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
 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 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`
 > 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:
 
 		$ mkdir packages1
@@ -187,7 +190,7 @@ specifically required by MMGen.
 
 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-wheel \
 		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
 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
 
 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:
 
-	$ 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:
 
-	$ 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
 with:
@@ -297,25 +300,26 @@ repository:
 If you’re doing an offline install, then copy the cloned mmgen directory to
 your offline machine.
 
-Enter the repo directory and build:
+Enter the repo directory, build and install:
 
 	$ cd mmgen
 	$ git checkout stable_msys2 # See 'Note' below
 	$ 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
-`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>
 
@@ -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
 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>
 
@@ -425,3 +427,4 @@ continue from the `git checkout stable_msys2` step.
 [pl]: Altcoin-and-Forkcoin-Support#a_oe
 [ax]: autosign-[MMGen-command-help]
 [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)
 * [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)
 * [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
 
-#### <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
 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]
-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:
 

+ 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,
 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
 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].
 
 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
 [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
 
 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
 reversing the order of the digits, converting it to a string and stripping off
 the leading zeroes (‘1’s).

+ 1 - 1
mmgen/data/version

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