diff --git a/Altcoin-and-Forkcoin-Support.md b/Altcoin-and-Forkcoin-Support.md index ef22a22..02845cd 100644 --- a/Altcoin-and-Forkcoin-Support.md +++ b/Altcoin-and-Forkcoin-Support.md @@ -231,14 +231,14 @@ commands. It’s that simple! ### Monero (XMR) MMGen’s Monero support includes automated wallet creation/syncing and -transaction creation/relaying via the `mmgen-xmrwallet` command. Make sure -that [Monerod][M] is installed and running and that `monero-wallet-rpc` is -located in your executable path. +transacting via the [`mmgen-xmrwallet`][mx] command. Make sure that +[Monerod][M] is installed and running and that `monero-wallet-rpc` is located +in your executable path. -*NOTE: by storing the Monero blockchain on a removable drive and installing -Monerod on both your online and offline machines, it’s possible to perform -wallet and transaction creation operations offline and thus avoid exposing -private data on your online machine.* +*The following instructions are applicable for a hot wallet setup. To learn +how to cold sign transactions using MMGen’s autosign feature, first +familiarize yourself with the basic concepts here and then consult the OFFLINE +AUTOSIGNING tutorial on the [`mmgen-xmrwallet`][mx] help screen.* To generate five Monero key/address pairs from your default wallet, invoke the 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 have multiple wallets requiring long sync times. -`mmgen-xmrwallet` supports transacting via the `sweep` and `transfer` -subcommands. Type `mmgen-xmrwallet --help` for details. +To learn how to transact using your wallets, continue on to the +[`mmgen-xmrwallet`][mx] help screen. ### Key/address generation for Zcash (ZEC) @@ -362,3 +362,4 @@ the MMGen Project. [bi]: Install-Bitcoind#a_d [p8]: Install-Bitcoind#a_r [ge]: https://github.com/ethereum/go-ethereum +[mx]: command-help-xmrwallet diff --git a/Getting-Started-with-MMGen.md b/Getting-Started-with-MMGen.md index 61ee02c..b81b147 100644 --- a/Getting-Started-with-MMGen.md +++ b/Getting-Started-with-MMGen.md @@ -6,8 +6,9 @@ * [Configuration file](#a_cf) * [Bob and Alice regtest mode](#a_ts) -#### [Basic Operations](#a_bo) -* [Generate an MMGen wallet](#a_gw) +#### [Generating an MMGen Wallet](#a_gw) + +#### [Transacting](#a_tr) * [Generate addresses](#a_ga) * [Import addresses](#a_ia) * [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 Start with Regtest Mode][04] before continuing on. -### Basic Operations - -#### Generate an MMGen wallet (offline computer) +### Generating an MMGen 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 @@ -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 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 $ 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 backups** can’t be overestimated. +### Transacting + +*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.* + #### Generate addresses (offline computer) 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 [08]: Install-Bitcoind [09]: Altcoin-and-Forkcoin-Support +[ax]: Altcoin-and-Forkcoin-Support#a_xmr [cp]: https://gitlab.com/MMGen/mmgen/-/commits/master +[mx]: command-help-xmrwallet diff --git a/Install-MMGen-on-Microsoft-Windows.md b/Install-MMGen-on-Microsoft-Windows.md index 194f9f7..2ff4ced 100644 --- a/Install-MMGen-on-Microsoft-Windows.md +++ b/Install-MMGen-on-Microsoft-Windows.md @@ -144,6 +144,8 @@ $ ls /var/lib/pacman/sync >> >> >> +>> +>> >> >> @@ -214,11 +216,12 @@ $ pacman -S tar git vim autoconf automake-wrapper autogen libtool cygrunsrv \ mingw-w64-x86_64-make \ mingw-w64-x86_64-pcre \ mingw-w64-x86_64-libsodium \ + mingw-w64-x86_64-python-pynacl \ mingw-w64-x86_64-python-cryptography \ + mingw-w64-x86_64-python-pycryptodome \ mingw-w64-x86_64-python-six \ mingw-w64-x86_64-python-pexpect \ mingw-w64-x86_64-python-gmpy2 \ - mingw-w64-x86_64-python-pynacl \ mingw-w64-x86_64-python-pysocks \ mingw-w64-x86_64-python-requests \ mingw-w64-x86_64-python-aiohttp \ @@ -257,13 +260,13 @@ environment. On your online machine: ```text -$ pip3 download ecdsa +$ python3 -m pip download ecdsa ``` Copy the downloaded file to your offline machine and install: ```text -$ pip3 install --user ecdsa-*.whl +$ python3 -m pip install --user ecdsa-*.whl ``` ### 7. Install the standalone scrypt package (required for strong password hashing) @@ -300,9 +303,9 @@ On your offline machine, create a magic location and copy the cloned secp256k1 directory into it: ```text -$ mkdir -p ~/.cache/mmgen +$ mkdir -p ~/.cache/mmgen # the magic location $ 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 ``` ### 9. Install MMGen @@ -323,8 +326,8 @@ Enter the repo directory, build and install: ```text $ cd mmgen $ git checkout stable_msys2 # See 'Note' below -$ python3 -m build --no-isolation -$ python3 -m pip install --user --upgrade dist/*.whl +$ python3 setup.py build --compiler=unix +$ python3 setup.py install --user ``` **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 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. +Note that MMGen has a test suite. Refer to the [Test Suite][ts] wiki page for +details. ### 10. Install Python Ethereum dependencies (Ethereum users only) @@ -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: ```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: ```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 directory containing the files and install them as follows: ```text -$ pip3 install --no-deps --user *.whl +$ python3 -m pip install --no-deps --user *.whl ``` ### 11. Install and launch your coin daemons @@ -431,10 +433,11 @@ computer and issue the following commands: $ git checkout master $ git pull $ git checkout stable_msys2 # See 'Note' to step 9 -$ rm -rf dist build -$ rm -r /mingw64/lib/python*/site-packages/{mmgen,MMGen}* -$ python3 -m build --no-isolation -$ python3 -m pip install --upgrade dist/*.whl +$ rm -rf dist build *egg-info +$ rm -rf /mingw64/lib/python*/site-packages/{mmgen,MMGen}* +$ python3 setup.py build --compiler=unix +$ python3 setup.py install --user --force +$ rm -rf dist build *egg-info ``` To update your offline installation, copy the updated repository (after `git diff --git a/Subwallets.md b/Subwallets.md index 231f5c3..6c789c3 100644 --- a/Subwallets.md +++ b/Subwallets.md @@ -114,7 +114,7 @@ Transaction written to file '.rawtx' This transaction can now be signed either with the subwallet itself: ```text -$ mmgen-txsign *.rawtx 3E885EC4-ABCDEF00[128,3].mmdat +$ mmgen-txsign *.rawtx 3E885EC4-ABCDEF00[128,3].mmdat ... Signed transaction written to file '.sigtx' ```