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:
parent
59368fd7c1
commit
14c4ee2385
2 changed files with 74 additions and 57 deletions
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue