modified: Altcoin-and-Forkcoin-Support.md

modified:   Getting-Started-with-MMGen.md
	modified:   Install-MMGen-on-Microsoft-Windows.md
	modified:   Subwallets.md
The MMGen Project 2023-05-19 19:50:53 +00:00 committed by The MMGen Project
commit d7fb717d7f
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
4 changed files with 44 additions and 33 deletions

@ -231,14 +231,14 @@ commands. It’s that simple!
### <a id="a_xmr">Monero (XMR)</a> ### <a id="a_xmr">Monero (XMR)</a>
MMGen’s Monero support includes automated wallet creation/syncing and MMGen’s Monero support includes automated wallet creation/syncing and
transaction creation/relaying via the `mmgen-xmrwallet` command. Make sure transacting via the [`mmgen-xmrwallet`][mx] command. Make sure that
that [Monerod][M] is installed and running and that `monero-wallet-rpc` is [Monerod][M] is installed and running and that `monero-wallet-rpc` is located
located in your executable path. in your executable path.
*NOTE: by storing the Monero blockchain on a removable drive and installing *The following instructions are applicable for a hot wallet setup. To learn
Monerod on both your online and offline machines, it’s possible to perform how to cold sign transactions using MMGen’s autosign feature, first
wallet and transaction creation operations offline and thus avoid exposing familiarize yourself with the basic concepts here and then consult the OFFLINE
private data on your online machine.* AUTOSIGNING tutorial on the [`mmgen-xmrwallet`][mx] help screen.*
To generate five Monero key/address pairs from your default wallet, invoke the To generate five Monero key/address pairs from your default wallet, invoke the
following, making sure to answer ‘y’ at the Encrypt prompt: following, making sure to answer ‘y’ at the Encrypt prompt:
@ -277,8 +277,8 @@ $ mmgen-xmrwallet sync *XMR*.akeys.mmenc
No user interaction is required here either, which is very helpful when you No user interaction is required here either, which is very helpful when you
have multiple wallets requiring long sync times. have multiple wallets requiring long sync times.
`mmgen-xmrwallet` supports transacting via the `sweep` and `transfer` To learn how to transact using your wallets, continue on to the
subcommands. Type `mmgen-xmrwallet --help` for details. [`mmgen-xmrwallet`][mx] help screen.
### <a id="a_zec">Key/address generation for Zcash (ZEC)</a> ### <a id="a_zec">Key/address generation for Zcash (ZEC)</a>
@ -362,3 +362,4 @@ the MMGen Project.
[bi]: Install-Bitcoind#a_d [bi]: Install-Bitcoind#a_d
[p8]: Install-Bitcoind#a_r [p8]: Install-Bitcoind#a_r
[ge]: https://github.com/ethereum/go-ethereum [ge]: https://github.com/ethereum/go-ethereum
[mx]: command-help-xmrwallet

@ -6,8 +6,9 @@
* [Configuration file](#a_cf) * [Configuration file](#a_cf)
* [Bob and Alice regtest mode](#a_ts) * [Bob and Alice regtest mode](#a_ts)
#### [Basic Operations](#a_bo) #### [Generating an MMGen Wallet](#a_gw)
* [Generate an MMGen wallet](#a_gw)
#### [Transacting](#a_tr)
* [Generate addresses](#a_ga) * [Generate addresses](#a_ga)
* [Import addresses](#a_ia) * [Import addresses](#a_ia)
* [Create a transaction](#a_ct) * [Create a transaction](#a_ct)
@ -109,9 +110,7 @@ it an ideal way to learn to use the MMGen wallet without risking real coins.
You may wish to pause here and perform the steps in the tutorial [MMGen Quick You may wish to pause here and perform the steps in the tutorial [MMGen Quick
Start with Regtest Mode][04] before continuing on. Start with Regtest Mode][04] before continuing on.
### <a id="a_bo">Basic Operations</a> ### <a id="a_gw">Generating an MMGen Wallet</a>
#### <a id="a_gw">Generate an MMGen wallet (offline computer)</a>
*NOTE: MMGen supports a “default wallet” feature. After generating your wallet, *NOTE: MMGen supports a “default wallet” feature. After generating your wallet,
you’ll be prompted to make it your default. If you answer ‘y’, the wallet will you’ll be prompted to make it your default. If you answer ‘y’, the wallet will
@ -126,7 +125,7 @@ as it frees you from having to type your wallet filename on the command line.*
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.*
On your offline computer, generate an MMGen wallet: On your **offline** computer, generate an MMGen wallet:
```text ```text
$ mmgen-walletgen $ mmgen-walletgen
@ -162,6 +161,12 @@ your seed phrase to be surprisingly easy. And the peace of mind that comes with
knowing that your coins are recoverable **even if you lose all your physical knowing that your coins are recoverable **even if you lose all your physical
backups** can’t be overestimated. backups** can’t be overestimated.
### <a id="a_tr">Transacting</a>
*The following transacting information is applicable to BTC, BCH, LTC, ETH and
ETC. For transacting with Monero, consult [Altcoin-and-Forkcoin-Support][ax]
and the [`mmgen-xmrwallet`][mx] help screen.*
#### <a id="a_ga">Generate addresses (offline computer)</a> #### <a id="a_ga">Generate addresses (offline computer)</a>
Now generate ten Segwit-P2SH addresses with your just-created wallet: Now generate ten Segwit-P2SH addresses with your just-created wallet:
@ -1130,4 +1135,6 @@ $ python3 -m pip install --user --upgrade dist/*.whl
[07]: command-help-autosign [07]: command-help-autosign
[08]: Install-Bitcoind [08]: Install-Bitcoind
[09]: Altcoin-and-Forkcoin-Support [09]: Altcoin-and-Forkcoin-Support
[ax]: Altcoin-and-Forkcoin-Support#a_xmr
[cp]: https://gitlab.com/MMGen/mmgen/-/commits/master [cp]: https://gitlab.com/MMGen/mmgen/-/commits/master
[mx]: command-help-xmrwallet

@ -144,6 +144,8 @@ $ ls /var/lib/pacman/sync
>> <https://mirror.yandex.ru/mirrors/msys2/mingw/clang64/clang64.db.sig> >> <https://mirror.yandex.ru/mirrors/msys2/mingw/clang64/clang64.db.sig>
>> <https://mirror.yandex.ru/mirrors/msys2/mingw/clang32/clang32.db> >> <https://mirror.yandex.ru/mirrors/msys2/mingw/clang32/clang32.db>
>> <https://mirror.yandex.ru/mirrors/msys2/mingw/clang32/clang32.db.sig> >> <https://mirror.yandex.ru/mirrors/msys2/mingw/clang32/clang32.db.sig>
>> <https://mirror.yandex.ru/mirrors/msys2/mingw/clangarm64/clangarm64.db>
>> <https://mirror.yandex.ru/mirrors/msys2/mingw/clangarm64/clangarm64.db.sig>
>> <https://mirror.yandex.ru/mirrors/msys2/mingw/ucrt64/ucrt64.db> >> <https://mirror.yandex.ru/mirrors/msys2/mingw/ucrt64/ucrt64.db>
>> <https://mirror.yandex.ru/mirrors/msys2/mingw/ucrt64/ucrt64.db.sig> >> <https://mirror.yandex.ru/mirrors/msys2/mingw/ucrt64/ucrt64.db.sig>
@ -214,11 +216,12 @@ $ pacman -S tar git vim autoconf automake-wrapper autogen libtool cygrunsrv \
mingw-w64-x86_64-make \ mingw-w64-x86_64-make \
mingw-w64-x86_64-pcre \ mingw-w64-x86_64-pcre \
mingw-w64-x86_64-libsodium \ mingw-w64-x86_64-libsodium \
mingw-w64-x86_64-python-pynacl \
mingw-w64-x86_64-python-cryptography \ mingw-w64-x86_64-python-cryptography \
mingw-w64-x86_64-python-pycryptodome \
mingw-w64-x86_64-python-six \ mingw-w64-x86_64-python-six \
mingw-w64-x86_64-python-pexpect \ mingw-w64-x86_64-python-pexpect \
mingw-w64-x86_64-python-gmpy2 \ mingw-w64-x86_64-python-gmpy2 \
mingw-w64-x86_64-python-pynacl \
mingw-w64-x86_64-python-pysocks \ mingw-w64-x86_64-python-pysocks \
mingw-w64-x86_64-python-requests \ mingw-w64-x86_64-python-requests \
mingw-w64-x86_64-python-aiohttp \ mingw-w64-x86_64-python-aiohttp \
@ -257,13 +260,13 @@ environment.
On your online machine: On your online machine:
```text ```text
$ pip3 download ecdsa $ python3 -m pip download ecdsa
``` ```
Copy the downloaded file to your offline machine and install: Copy the downloaded file to your offline machine and install:
```text ```text
$ pip3 install --user ecdsa-*.whl $ python3 -m pip install --user ecdsa-*.whl
``` ```
### <a id="a_sc">7. Install the standalone scrypt package (required for strong password hashing)</a> ### <a id="a_sc">7. Install the standalone scrypt package (required for strong password hashing)</a>
@ -300,9 +303,9 @@ On your offline machine, create a magic location and copy the cloned secp256k1
directory into it: directory into it:
```text ```text
$ mkdir -p ~/.cache/mmgen $ mkdir -p ~/.cache/mmgen # the magic location
$ 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 files were correctly copied
``` ```
### <a id="a_mm">9. Install MMGen</a> ### <a id="a_mm">9. Install MMGen</a>
@ -323,8 +326,8 @@ Enter the repo directory, build and install:
```text ```text
$ cd mmgen $ cd mmgen
$ git checkout stable_msys2 # See 'Note' below $ git checkout stable_msys2 # See 'Note' below
$ python3 -m build --no-isolation $ python3 setup.py build --compiler=unix
$ python3 -m pip install --user --upgrade dist/*.whl $ python3 setup.py install --user
``` ```
**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
@ -337,9 +340,8 @@ install or run on MSYS2. Installation or runtime issues may also arise due
to missing dependencies or installation steps not yet covered in the to missing dependencies or installation steps not yet covered in the
documentation. documentation.
**Install Note:** The `--force` and `--no-deps` options also come in handy on Note that MMGen has a test suite. Refer to the [Test Suite][ts] wiki page for
occasion. Note that MMGen has a test suite. Refer to the [Test Suite][ts] details.
wiki page for details.
### <a id="a_pe">10. Install Python Ethereum dependencies (Ethereum users only)</a> ### <a id="a_pe">10. Install Python Ethereum dependencies (Ethereum users only)</a>
@ -347,20 +349,20 @@ 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:
```text ```text
$ pip3 install --no-deps --user -r eth-requirements.txt $ python3 -m pip install --no-deps --user -r eth-requirements.txt
``` ```
For an offline install, do this instead: For an offline install, do this instead:
```text ```text
$ pip3 download --no-deps -r eth-requirements.txt $ python3 -m pip download --no-deps -r eth-requirements.txt
``` ```
Then transfer the downloaded files to your offline machine, `cd` to the Then transfer the downloaded files to your offline machine, `cd` to the
directory containing the files and install them as follows: directory containing the files and install them as follows:
```text ```text
$ pip3 install --no-deps --user *.whl $ python3 -m pip install --no-deps --user *.whl
``` ```
### <a id="a_cd">11. Install and launch your coin daemons</a> ### <a id="a_cd">11. Install and launch your coin daemons</a>
@ -431,10 +433,11 @@ computer and issue the following commands:
$ git checkout master $ git checkout master
$ git pull $ git pull
$ git checkout stable_msys2 # See 'Note' to step 9 $ git checkout stable_msys2 # See 'Note' to step 9
$ rm -rf dist build $ rm -rf dist build *egg-info
$ rm -r /mingw64/lib/python*/site-packages/{mmgen,MMGen}* $ rm -rf /mingw64/lib/python*/site-packages/{mmgen,MMGen}*
$ python3 -m build --no-isolation $ python3 setup.py build --compiler=unix
$ python3 -m pip install --upgrade dist/*.whl $ python3 setup.py install --user --force
$ rm -rf dist build *egg-info
``` ```
To update your offline installation, copy the updated repository (after `git To update your offline installation, copy the updated repository (after `git