update README, release notes, wiki documentation

This commit is contained in:
The MMGen Project 2022-05-08 10:11:57 +00:00
commit fe34fca36b
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
8 changed files with 61 additions and 48 deletions

View file

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

View file

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

View file

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

View file

@ -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.
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:
Typically you’ll wish to launch OpenEthereum as follows:
$ openethereum.exe --jsonrpc-apis=all
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

View file

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

View file

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

View file

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

View file

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