update 2 wiki pages

Updated:

- doc/wiki/install-mswin/Install-MMGen-on-Microsoft-Windows.md
- doc/wiki/using-mmgen/Getting-Started-with-MMGen.md
This commit is contained in:
The MMGen Project 2022-06-09 11:18:09 +00:00
commit 14c4ee2385
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
2 changed files with 74 additions and 57 deletions

View file

@ -191,21 +191,22 @@ specifically required by MMGen.
Install the MMGen requirements and their dependencies:
$ 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 \
mingw64/mingw-w64-x86_64-libltdl \
mingw64/mingw-w64-x86_64-gcc \
mingw64/mingw-w64-x86_64-make \
mingw64/mingw-w64-x86_64-pcre \
mingw64/mingw-w64-x86_64-libsodium \
mingw64/mingw-w64-x86_64-python-cryptography \
mingw64/mingw-w64-x86_64-python-six \
mingw64/mingw-w64-x86_64-python-pexpect \
mingw64/mingw-w64-x86_64-python-gmpy2 \
mingw64/mingw-w64-x86_64-python-pynacl \
mingw64/mingw-w64-x86_64-python-pysocks \
mingw64/mingw-w64-x86_64-python-requests
mingw-w64-x86_64-python-build \
mingw-w64-x86_64-python-wheel \
mingw-w64-x86_64-python-pip \
mingw-w64-x86_64-libltdl \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-make \
mingw-w64-x86_64-pcre \
mingw-w64-x86_64-libsodium \
mingw-w64-x86_64-python-cryptography \
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
### <a name='a_ev'>5. Set up your environment</a>

View file

@ -86,7 +86,8 @@ The data directory is `.mmgen` in the user’s home directory and the config
file is `mmgen.cfg`. The config file contains global settings which you may
wish to edit at some point to customize your installation. These settings
include the maximum transaction fee; the user name, password and hostname
used for communicating with bitcoind; and a number of others.
used for communicating with your Bitcoin or altcoin daemon; and a number of
others.
#### <a name='a_ts'>Bob and Alice regtest mode</a>
@ -151,11 +152,11 @@ Since the wallet is a small, humanly readable ASCII file, it can easily be
printed out on paper.
Another highly recommended way to back up your wallet is to generate a mnemonic
or seed file [as described below](#a_ms) and memorize it. If you have an
average or better memory, you’ll find memorizing your mnemonic 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.
seed phrase or seed file [as described below](#a_ms) and write it down or
memorize it. If you have an average or better memory, you’ll find memorizing
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.
#### <a name='a_ga'>Generate addresses (offline computer)</a>
@ -182,18 +183,19 @@ Now generate ten Segwit-P2SH addresses with your just-created wallet:
Note that the address range `1-10` specified on the command line is included in
the resulting filename.
MMGen currently supports four Bitcoin address types: `legacy` (uncompressed
P2PKH), `compressed` (compressed P2PKH), `segwit` (P2SH-P2WPKH) and `bech32`
(native Segwit), denoted by the code letters `L`, `C`, `S` and `B` respectively.
Address types can be referred to either in full or by code letter. To generate
Bech32 addresses, for example, you can specify either `--type=bech32` or
`--type=B` on the command line.
MMGen currently supports four address types for Bitcoin and Bitcoin code fork
coins: `legacy` (uncompressed P2PKH), `compressed` (compressed P2PKH),
`segwit` (P2SH-P2WPKH) and `bech32` (native Segwit), denoted by the code
letters `L`, `C`, `S` and `B` respectively. Address types can be referred to
either in full or by code letter. To generate Bech32 addresses, for example,
you can specify either `--type=bech32` or `--type=B` on the command line.
For backwards compatibility, legacy addresses are generated by default, but this
is probably not what you want unless you have a very old MMGen installation
created before compressed address support was added. Most new users will wish
to generate either Segwit-P2SH (`S`) or Bech32 (`B`) addresses instead. For
BCH, which lacks Segwit support, compressed (`C`) addresses are the best choice.
For backwards compatibility, legacy addresses with uncompressed public keys
are generated by default, but this is almost certainly not what you want
unless you’re restoring an old MMGen installation created before compressed
address support was added. Most new users will wish to generate either
Segwit-P2SH (`S`) or Bech32 (`B`) addresses instead. For BCH, which lacks
Segwit support, compressed (`C`) addresses are the best choice.
Generation examples for various address types:
@ -225,7 +227,7 @@ Note that for non-legacy address types the code letter is included in the
filename.
To fund your MMGen wallet, first import the addresses into your tracking wallet
and then send some BTC to any of them. If you run out of addresses, generate
and then send some coins to any of them. If you run out of addresses, generate
more. To generate a hundred addresses you’d specify an address range of
`1-100`.
@ -277,7 +279,7 @@ wiki page for more details on invoking the daemon for your coin and platform).
Upon startup, older daemons will automatically generate a new default
`wallet.dat`, which MMGen will use as its tracking wallet. With newer daemons
(e.g. Core 0.21.0 and above), the tracking wallet will be a directory named
`mmgen-tracking-wallet` located by default in the `wallets` subdirectory.
`mmgen-tracking-wallet` located by default under the `wallets` subdirectory.
Import your ten addresses into the new tracking wallet with the command:
@ -285,8 +287,8 @@ Import your ten addresses into the new tracking wallet with the command:
These addresses will now be tracked: any BTC transferred to them will show up in
your listing of address balances. Balances can be viewed using `mmgen-tool
listaddresses` (the `showempty` option requests the inclusion of addresses with
empty balances).
listaddresses` (the `showempty` option requests addresses with empty balances
to be displayed too).
$ mmgen-tool listaddresses showempty=1
MMGenID ADDRESS COMMENT BALANCE
@ -299,16 +301,16 @@ empty balances).
TOTAL: 0 BTC
*While not covered in this introduction, note that it’s also possible to [import
ordinary Bitcoin addresses into your tracking wallet][01]. This allows you to
track and spend funds from another wallet using MMGen without having to go
through the network. To use it, you must save the keys corresponding to the
addresses where the funds are stored in a separate file to use during signing.*
external coin addresses into your tracking wallet][01]. This allows you to
track and spend funds from another wallet with MMGen without having to go
through the network. To do this, you must save the keys corresponding to the
given addresses in a separate file for use during transaction signing.*
Note that each address has a unique ID (the ‘MMGen ID’) consisting of a Seed ID,
address type code letter, and index. Addresses of different types may be
imported into the same tracking wallet, and since they’re generated from different
sub-seeds you needn’t worry about key reuse. For example, the addresses
`89ABCDEF:S:1` and `89ABCDEF:B:1` are cryptographically distinct: no one but the
`89ABCDEF:S:1` and `89ABCDEF:B:1` are cryptographically unrelated: no one but the
wallet’s owner can see that they were generated from the same seed.
Now that your addresses are being tracked, you may go ahead and send some BTC to
@ -345,15 +347,16 @@ NOTE: For backwards compatibility, legacy addresses may omit the code letter
from the MMGen ID. Thus address `89ABCDEF:L:5` may be expressed as
`89ABCDEF:5`. For other address types the code letter is mandatory.
To send 0.1 BTC to each of addresses `89ABCDEF:S:6` and `89ABCDEF:S:7` and return
the change to `89ABCDEF:S:8`, you’d do this:
To send 0.1 BTC to each of addresses `89ABCDEF:S:6` and `89ABCDEF:S:7`,
sending the change to `89ABCDEF:S:8`, you’d do this:
$ mmgen-txcreate 89ABCDEF:S:6,0.1 89ABCDEF:S:7,0.1 89ABCDEF:S:8
As you can see, each send address is followed by a comma and the amount. The
address with no amount is the change address. All addresses belonging to your
seed in the above examples are already imported and tracked, so you’re OK. If
you wanted to send to `89ABCDEF:S:11`, you’d have to import it first.
As you can see, each address is followed by a comma and an amount, except for
the change address, for which the amount will be calculated automatically.
All addresses belonging to your seed in the above examples are already
imported and tracked, so you’re OK. If you wanted to send to `89ABCDEF:S:11`,
you’d have to import it first.
Let’s go with the first of our two examples above.
@ -368,7 +371,7 @@ will look something like this:
Num TX id Vout Address Amt(BTC) Age(d)
1) e9742b16... 5 3L3kxmi.. 89ABCDEF:S:1 Donations 0.1 1
2) fa84d709... 6 3N4dSGj.. 89ABCDEF:S:2 Storage 1 0.2 1
3) 8dde8ef5... 6 3M1fVDc.. 89ABCDEF:S:3 Storage 1 0.3 1
3) 8dde8ef5... 6 3M1fVDc.. 89ABCDEF:S:3 Storage 2 0.3 1
4) c76874c7... 0 3E8MFoC.. 89ABCDEF:S:4 Storage 3 0.4 1
Sort options: [t]xid, [a]mount, a[d]dress, [A]ge, [r]everse, [M]mgen addr
@ -382,13 +385,15 @@ After quitting the menu with ‘q’, you’ll see the following prompt:
Here you must choose unspent outputs of sufficient value to cover the send
amount of 0.1 BTC, plus the transaction fee (for more on fees, see ‘Transaction
Fees’ under ‘Advanced Topics’ below). Output #2 is worth 0.2 BTC, which is
sufficient, so we’ll choose that. After several more prompts and confirmations,
your transaction will be saved:
sufficient, so we’ll choose that and hit ENTER. When prompted for a
transaction fee, we’ll choose 0.0001 BTC (note that integer fees followed by
the letter ‘s’ for “satoshis per byte” are also permissible). After a couple
more prompts and confirmations, your transaction will be saved:
Transaction written to file 'FEDCBA[0.1].rawtx'
Note that the transaction filename consists of a unique MMGen Transaction ID
plus the non-change spend amount.
The transaction filename consists of a unique MMGen Transaction ID plus the
non-change spend amount.
As you can see, MMGen gives you complete control over your transaction inputs
and change addresses. This feature will be appreciated by privacy-conscious users.
@ -428,12 +433,23 @@ listing should look something like this:
89ABCDEF:S:1 Donations 0.1
89ABCDEF:S:3 Storage 2 0.3
89ABCDEF:S:4 Storage 3 0.4
89ABCDEF:S:5 Storage 1 0.0999
89ABCDEF:S:5 0.0999
TOTAL: 0.8999 BTC
Since you’ve sent 0.1 BTC to a third party, your balance has declined by 0.1 BTC
plus the tx fee of 0.0001 BTC. To verify that your transaction’s received its
second, third and so on confirmations, increase `minconf` accordingly.
Alternatively, you may use `mmgen-tool twview` or `mmgen-txcreate -i` for more
detailed and configurable output:
$ mmgen-tool twview
UNSPENT OUTPUTS (sort order: Age) Total BTC: 0.8999
Network: BTC MAINNET
Num TXid Vout Address Amt(BTC) Confs
1) e3c3.. 6 36bNmyYISiptuvJG3X7MPwii.. 89ABCDEF:S:1 Donations 0.1 68
2) face.. 6 3HgYCsfqYzIg7LVVfDTp7gYJ.. 89ABCDEF:S:3 Storage 2 0.3 68
3) abab.. 6 34Tu3z1tiexXDonNsFIkvzqu.. 89ABCDEF:S:4 Storage 3 0.4 68
4) 123c.. 6 3PeI55vtp2bX2uKDkAAR2c6e.. 89ABCDEF:S:5 0.0999 7
Since you’ve sent 0.1 BTC to a third party, your balance has decreased by 0.1
BTC plus the transaction fee of 0.0001 BTC.
Congratulations! You’ve now mastered the basics of MMGen! To learn about some
of MMGen’s more advanced features, continue reading.
@ -793,7 +809,7 @@ wallet for the online machine:
Securely delete the original file.
Generate a range of addresses with your online default wallet/subwallet and
import them into your tracking wallet:
import them into your tracking wallet:
$ mmgen-addrgen --type=bech32 1-10
$ mmgen-addrimport FC9A8735-B*.addrs