MMGen -> MMGen Wallet

The MMGen Project 2023-11-16 16:43:00 +00:00
commit bb38cec2f2
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
30 changed files with 110 additions and 103 deletions

@ -14,13 +14,13 @@ are performed via the `/` key.
> #### [Install on Debian, Ubuntu, Raspbian, Armbian or Arch Linux](Install-MMGen-Wallet-on-Linux)
### Using MMGen
### Using MMGen Wallet
> #### [Getting Started with MMGen](Getting-Started-with-MMGen-Wallet)
> #### [Getting Started with MMGen Wallet](Getting-Started-with-MMGen-Wallet)
> #### [MMGen Wallet Quick Start with Regtest Mode](MMGen-Wallet-Quick-Start-with-Regtest-Mode)
> #### [MMGen command help](MMGen-command-help)
> #### [MMGen Wallet command help](MMGen-command-help)
> #### [Recovering your keys without the MMGen software](Recovering-Your-Keys-Without-the-MMGen-Software)

@ -2,7 +2,7 @@
#### [Introduction](#a_i)
#### [Install MSYS2 and MMGen](#a_m)
#### [Install MSYS2 and MMGen Wallet](#a_m)
* [1. Install MSYS2](#a_ms)
* [2. Upgrade MSYS2](#a_ug)
* [Online install](#a_ug1)
@ -22,7 +22,7 @@
#### [Keeping your installation up to date](#a_u)
* [Upgrading MSYS2](#a_us)
* [Upgrading MMGen](#a_um)
* [Upgrading MMGen Wallet](#a_um)
* [Upgrade to latest stable version](#a_ums)
* [Upgrade to latest development version](#a_umd)
@ -52,7 +52,7 @@ that’s *already* offline. These steps will be additionally outlined in
sections entitled **Offline install.** When doing an online install you will
ignore these sections.
## <a id="a_m">Install MSYS2 and MMGen</a>
## <a id="a_m">Install MSYS2 and MMGen Wallet</a>
### <a id="a_ms">1. Install MSYS2</a>
@ -414,7 +414,7 @@ To perform the upgrade, just repeat [Step 3](#a_ug) of this guide.
Note that [Step 4](#a_md) need not be performed, as the MMGen dependencies
are already in `pacman`’s database.
### <a id="a_um">Upgrading MMGen</a>
### <a id="a_um">Upgrading MMGen Wallet</a>
You should periodically upgrade your MMGen Wallet installation from one of its
public repositories, especially when [new releases][mr] appear. You can check

@ -1,9 +1,9 @@
MMGen’s regtest mode, also known as Bob and Alice mode, uses the Bitcoin
MMGen Wallet’s regtest mode, also known as Bob and Alice mode, uses the Bitcoin
daemon’s regression test feature to create a virtual network of two users who
transact on a private blockchain.
All of MMGen’s functionality is available in regtest mode, making it an ideal
way to learn to use MMGen Wallet without risking real coins.
All of MMGen Wallet’s functionality is available in regtest mode, making it an
ideal way to learn to use MMGen Wallet without risking real coins.
To send a transaction or perform any other operation as Bob or Alice, just add
the `--bob` or `--alice` option to the applicable MMGen Wallet command.

@ -18,11 +18,12 @@ mind: “What if I have funds in MMGen Wallet and I lose the software? How do
I recover my coins?”
Let’s take this scenario to its logical extreme and assume you’ve lost all
backup copies of the software, MMGen’s project page has disappeared from both
[Github][04] and [Gitlab][05] (or been hacked) and no other repositories or
copies are available on the Internet. The following tutorial will show you how
to recover the private keys for your coin addresses in the event this unlikely
combination of circumstances ever occurs.
backup copies of the software, the MMGen Wallet project page has disappeared
from all of [Github][04], [Gitlab][05], [Gitflic][06] and [mmgen.org][07] (or
been hacked), and no other verifiable repositories or copies are available on
the Internet. The following tutorial will show you how to recover the private
keys for your coin addresses in the event this very unlikely combination of
circumstances ever occurs.
In addition to private keys, this tutorial can also be used to recover passwords
generated with the `mmgen-passgen` command.
@ -505,3 +506,5 @@ False
[03]: https://github.com/spesmilo/electrum/blob/1.9.5/lib/mnemonic.py
[04]: https://github.com/mmgen/mmgen
[05]: https://gitlab.com/mmgen/mmgen
[06]: https://gitflic.ru/project/mmgen/mmgen
[07]: https://mmgen.org/project/mmgen/mmgen

@ -1,9 +1,10 @@
## Introduction
In addition to low-level subsystems, the suite tests the overall operation of
MMGen’s commands by running them interactively as a user would. Thus the test
suite is useful not only for ensuring the MMGen Wallet system is correctly
installed and working on your platform but also for demonstrating how it works.
the MMGen Wallet’s commands by running them interactively as a user would. Thus
the test suite is useful not only for ensuring the MMGen Wallet system is
correctly installed and working on your platform but also for demonstrating how
it works.
BTC-only testing requires installation of Bitcoin Core and pycoin only, while
altcoin testing requires additional helper programs and libraries, installation
@ -195,8 +196,8 @@ $ test/test-release.sh -F
`test/test-release.sh` is just a simple shell script that invokes the test
scripts with various options and arguments to ensure complete coverage of
MMGen’s functionality. Launch the script with the `-t` option to view the
invocations without running them.
MMGen Wallet’s functionality. Launch the script with the `-t` option to view
the invocations without running them.
The test scripts themselves are all located in the `test/` directory and bear
the `.py` extension. They may be run individually if desired. Options and

@ -4,7 +4,7 @@
- [Deterministic Shares](#a_ds)
- [Named Splits](#a_ns)
- [Master Shares](#a_ms)
+ [Seed Splitting with MMGen](#a_ss)
+ [Seed Splitting with MMGen Wallet](#a_ss)
### <a id="a_xor">XOR Seed Splitting: A Theoretical Introduction</a>
@ -235,7 +235,7 @@ Also note that an additional field, `master<n>`, has been appended to the share
identifiers. This is to ensure that the shares of each master share split are
unique, and differ from their non-master-share counterparts.
### <a id="a_ss">Seed Splitting with MMGen</a>
### <a id="a_ss">Seed Splitting with MMGen Wallet</a>
MMGen Wallet implements the seed splitting and joining functionality described
above via the commands [`mmgen-seedsplit`][SS] and [`mmgen-seedjoin`][SJ].

@ -5,11 +5,11 @@
* [Install on Microsoft Windows][1]
* [Install on Debian, Ubuntu, Raspbian, Armbian or Arch Linux][2]
#### Using MMGen
#### Using MMGen Wallet
* [Getting Started with MMGen][3]
* [Getting Started with MMGen Wallet][3]
* [MMGen Wallet Quick Start with Regtest Mode][4]
* [MMGen command help][5]
* [MMGen Wallet command help][5]
* [Recovering your keys without the MMGen software][6]
* [Altcoin and Forkcoin support (ETH, ETC, XMR, ZEC, LTC, BCH and 144 Bitcoin-derived alts)][7]
* [Subwallets][8]

@ -54,21 +54,21 @@
SUBWALLETS:
Subwallets (subseeds) are specified by a "Subseed Index" consisting of:
Subwallets (subseeds) are specified by a ‘Subseed Index’ consisting of:
a) an integer in the range 1-1000000, plus
b) an optional single letter, 'L' or 'S'
b) an optional single letter, ‘L’ or ‘S’
The letter designates the length of the subseed. If omitted, 'L' is assumed.
The letter designates the length of the subseed. If omitted, ‘L’ is assumed.
Long ('L') subseeds are the same length as their parent wallet's seed
(typically 256 bits), while short ('S') subseeds are always 128-bit.
Long (‘L’) subseeds are the same length as their parent wallet’s seed
(typically 256 bits), while short (‘S’) subseeds are always 128-bit.
The long and short subseeds for a given index are derived independently,
so both may be used.
MMGen has no notion of "depth", and to an outside observer subwallets are
identical to ordinary wallets. This is a feature rather than a bug, as it
denies an attacker any way of knowing whether a given wallet has a parent.
MMGen Wallet has no notion of ‘depth’, and to an outside observer subwallets
are identical to ordinary wallets. This is a feature rather than a bug, as
it denies an attacker any way of knowing whether a given wallet has a parent.
Since subwallets are just wallets, they may be used to generate other
subwallets, leading to hierarchies of arbitrary depth. However, this is
@ -81,7 +81,7 @@
An exception to this caveat would be a multi-user setup where sibling
subwallets are distributed to different users as their default wallets.
Since the subseeds derived from these subwallets are private to each user,
Seed ID collisions among them doesn't present a problem.
Seed ID collisions among them doesnt present a problem.
A safe rule of thumb, therefore, is for *each user* to derive all of his/her
subwallets from a single parent. This leaves each user with a total of two
@ -95,7 +95,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -115,5 +115,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-ADDRGEN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-ADDRGEN(1)
```

@ -31,5 +31,5 @@
It’s recommended to use ‘--rpc-backend=aio’ with ‘--rescan’.
MMGEN v13.3.0 June 2023 MMGEN-ADDRIMPORT(1)
MMGEN v14.0.dev20 November 2023 MMGEN-ADDRIMPORT(1)
```

@ -102,5 +102,5 @@
Always remember to power off the signing machine when your signing session
is over.
MMGEN v13.3.0 June 2023 MMGEN-AUTOSIGN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-AUTOSIGN(1)
```

@ -59,21 +59,21 @@
SUBWALLETS:
Subwallets (subseeds) are specified by a "Subseed Index" consisting of:
Subwallets (subseeds) are specified by a ‘Subseed Index’ consisting of:
a) an integer in the range 1-1000000, plus
b) an optional single letter, 'L' or 'S'
b) an optional single letter, ‘L’ or ‘S’
The letter designates the length of the subseed. If omitted, 'L' is assumed.
The letter designates the length of the subseed. If omitted, ‘L’ is assumed.
Long ('L') subseeds are the same length as their parent wallet's seed
(typically 256 bits), while short ('S') subseeds are always 128-bit.
Long (‘L’) subseeds are the same length as their parent wallet’s seed
(typically 256 bits), while short (‘S’) subseeds are always 128-bit.
The long and short subseeds for a given index are derived independently,
so both may be used.
MMGen has no notion of "depth", and to an outside observer subwallets are
identical to ordinary wallets. This is a feature rather than a bug, as it
denies an attacker any way of knowing whether a given wallet has a parent.
MMGen Wallet has no notion of ‘depth’, and to an outside observer subwallets
are identical to ordinary wallets. This is a feature rather than a bug, as
it denies an attacker any way of knowing whether a given wallet has a parent.
Since subwallets are just wallets, they may be used to generate other
subwallets, leading to hierarchies of arbitrary depth. However, this is
@ -86,7 +86,7 @@
An exception to this caveat would be a multi-user setup where sibling
subwallets are distributed to different users as their default wallets.
Since the subseeds derived from these subwallets are private to each user,
Seed ID collisions among them doesn't present a problem.
Seed ID collisions among them doesnt present a problem.
A safe rule of thumb, therefore, is for *each user* to derive all of his/her
subwallets from a single parent. This leaves each user with a total of two
@ -100,7 +100,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -120,5 +120,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-KEYGEN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-KEYGEN(1)
```

@ -104,5 +104,5 @@
Verify and display the exported JSON signature data:
$ mmgen-msg verify signatures.json
MMGEN v13.3.0 June 2023 MMGEN-MSG(1)
MMGEN v14.0.dev20 November 2023 MMGEN-MSG(1)
```

@ -52,5 +52,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-PASSCHG(1)
MMGEN v14.0.dev20 November 2023 MMGEN-PASSCHG(1)
```

@ -80,7 +80,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -100,5 +100,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-PASSGEN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-PASSGEN(1)
```

@ -24,5 +24,5 @@
wallet_cli - execute a wallet RPC call with supplied arguments (wallet
is first argument)
MMGEN v13.3.0 June 2023 MMGEN-REGTEST(1)
MMGEN v14.0.dev20 November 2023 MMGEN-REGTEST(1)
```

@ -61,5 +61,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-SEEDJOIN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-SEEDJOIN(1)
```

@ -123,7 +123,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -143,5 +143,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-SEEDSPLIT(1)
MMGEN v14.0.dev20 November 2023 MMGEN-SEEDSPLIT(1)
```

@ -35,21 +35,21 @@
SUBWALLETS:
Subwallets (subseeds) are specified by a "Subseed Index" consisting of:
Subwallets (subseeds) are specified by a ‘Subseed Index’ consisting of:
a) an integer in the range 1-1000000, plus
b) an optional single letter, 'L' or 'S'
b) an optional single letter, ‘L’ or ‘S’
The letter designates the length of the subseed. If omitted, 'L' is assumed.
The letter designates the length of the subseed. If omitted, ‘L’ is assumed.
Long ('L') subseeds are the same length as their parent wallet's seed
(typically 256 bits), while short ('S') subseeds are always 128-bit.
Long (‘L’) subseeds are the same length as their parent wallet’s seed
(typically 256 bits), while short (‘S’) subseeds are always 128-bit.
The long and short subseeds for a given index are derived independently,
so both may be used.
MMGen has no notion of "depth", and to an outside observer subwallets are
identical to ordinary wallets. This is a feature rather than a bug, as it
denies an attacker any way of knowing whether a given wallet has a parent.
MMGen Wallet has no notion of ‘depth’, and to an outside observer subwallets
are identical to ordinary wallets. This is a feature rather than a bug, as
it denies an attacker any way of knowing whether a given wallet has a parent.
Since subwallets are just wallets, they may be used to generate other
subwallets, leading to hierarchies of arbitrary depth. However, this is
@ -62,7 +62,7 @@
An exception to this caveat would be a multi-user setup where sibling
subwallets are distributed to different users as their default wallets.
Since the subseeds derived from these subwallets are private to each user,
Seed ID collisions among them doesn't present a problem.
Seed ID collisions among them doesnt present a problem.
A safe rule of thumb, therefore, is for *each user* to derive all of his/her
subwallets from a single parent. This leaves each user with a total of two
@ -76,7 +76,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -96,5 +96,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-SUBWALLETGEN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-SUBWALLETGEN(1)
```

@ -1139,6 +1139,7 @@ Optional KEYWORD ARGS (type and default value shown in square brackets):
pretty [bool=False]
prune [bool=False]
warn_used [bool=False]
force [bool=False]
NOTES:
@ -1155,6 +1156,8 @@ NOTES:
If ‘warn_used’ is true, the user will be prompted before pruning used
addresses.
If ‘force’ is true, any existing dump will be overwritten without prompting.
```
### `mmgen-tool twimport`
@ -1221,5 +1224,5 @@ Optional KEYWORD ARGS (type and default value shown in square brackets):
```
```text
MMGEN v13.3.0 June 2023 MMGEN-TOOL(DETAIL)(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TOOL(DETAIL)(1)
```

@ -75,9 +75,9 @@ GENERAL USAGE INFORMATION FOR MMGEN-TOOL COMMANDS
Supported seed phrase formats: 'mmgen' (default), 'bip39', 'xmrseed'
IMPORTANT NOTE: MMGen’s default seed phrase format uses the Electrum
wordlist, however seed phrases are computed using a different algorithm
and are NOT Electrum-compatible!
IMPORTANT NOTE: MMGen Wallet’s default seed phrase format uses the
Electrum wordlist, however seed phrases are computed using a different
algorithm and are NOT Electrum-compatible!
BIP39 support is fully compatible with the standard, allowing users to
import and export seed entropy from BIP39-compatible wallets. However,
@ -150,7 +150,7 @@ GENERAL USAGE INFORMATION FOR MMGEN-TOOL COMMANDS
rescan_address mmgen_or_coin_addr [str]
rescan_blockchain start_block [int=None] stop_block [int=None]
resolve_address mmgen_or_coin_addr [str]
twexport include_amts [bool=True] pretty [bool=False] prune [bool=False] warn_used [bool=False]
twexport include_amts [bool=True] pretty [bool=False] prune [bool=False] warn_used [bool=False] force [bool=False]
twimport filename [str] ignore_checksum [bool=False] batch [bool=False]
twview pager [bool=False] reverse [bool=False] wide [bool=False] minconf [int=1] sort [str='age'] age_fmt [str='confs'] interactive [bool=False] show_mmid [bool=True]
txhist pager [bool=False] reverse [bool=False] detail [bool=False] sinceblock [int=0] sort [str='age'] age_fmt [str='confs'] interactive [bool=False]
@ -186,5 +186,5 @@ EXAMPLES:
Same as above, but supply input via STDIN:
$ echo "deadbeefcafe" | mmgen-tool hexreverse -
MMGEN v13.3.0 June 2023 MMGEN-TOOL(USAGE)(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TOOL(USAGE)(1)
```

@ -100,9 +100,9 @@
Supported seed phrase formats: 'mmgen' (default), 'bip39', 'xmrseed'
IMPORTANT NOTE: MMGen’s default seed phrase format uses the Electrum
wordlist, however seed phrases are computed using a different algorithm
and are NOT Electrum-compatible!
IMPORTANT NOTE: MMGen Wallet’s default seed phrase format uses the
Electrum wordlist, however seed phrases are computed using a different
algorithm and are NOT Electrum-compatible!
BIP39 support is fully compatible with the standard, allowing users to
import and export seed entropy from BIP39-compatible wallets. However,
@ -197,5 +197,5 @@
Type ‘mmgen-tool help <command>’ for help on a particular command
MMGEN v13.3.0 June 2023 MMGEN-TOOL(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TOOL(1)
```

@ -51,21 +51,21 @@
Transactions may contain both MMGen or non-MMGen input addresses.
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
as the key source ('--keys-from-file' option).
as the key source (--keys-from-file option).
To sign MMGen inputs, key data is generated from a seed as with the
mmgen-addrgen and mmgen-keygen commands. Alternatively, a key-address file
may be used (--mmgen-keys-from-file option).
Multiple wallets or other seed files can be listed on the command line in
any order. If the seeds required to sign the transaction's inputs are not
any order. If the seeds required to sign the transactions inputs are not
found in these files (or in the default wallet), the user will be prompted
for seed data interactively.
To prevent an attacker from crafting transactions with bogus MMGen-to-Bitcoin
address mappings, all outputs to MMGen addresses are verified with a seed
source. Therefore, seed files or a key-address file for all MMGen outputs
must also be supplied on the command line if the data can't be found in the
must also be supplied on the command line if the data cant be found in the
default wallet.
Seed source files must have the canonical extensions listed in the 'FileExt'
@ -87,5 +87,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-TXBUMP(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TXBUMP(1)
```

@ -98,5 +98,5 @@
$ mmgen-txcreate S
MMGEN v13.3.0 June 2023 MMGEN-TXCREATE(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TXCREATE(1)
```

@ -97,21 +97,21 @@
Transactions may contain both MMGen or non-MMGen input addresses.
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
as the key source ('--keys-from-file' option).
as the key source (--keys-from-file option).
To sign MMGen inputs, key data is generated from a seed as with the
mmgen-addrgen and mmgen-keygen commands. Alternatively, a key-address file
may be used (--mmgen-keys-from-file option).
Multiple wallets or other seed files can be listed on the command line in
any order. If the seeds required to sign the transaction's inputs are not
any order. If the seeds required to sign the transactions inputs are not
found in these files (or in the default wallet), the user will be prompted
for seed data interactively.
To prevent an attacker from crafting transactions with bogus MMGen-to-Bitcoin
address mappings, all outputs to MMGen addresses are verified with a seed
source. Therefore, seed files or a key-address file for all MMGen outputs
must also be supplied on the command line if the data can't be found in the
must also be supplied on the command line if the data cant be found in the
default wallet.
Seed source files must have the canonical extensions listed in the 'FileExt'
@ -164,5 +164,5 @@
$ mmgen-txdo S
MMGEN v13.3.0 June 2023 MMGEN-TXDO(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TXDO(1)
```

@ -9,5 +9,5 @@
-s, --status Get status of a sent transaction
-y, --yes Answer 'yes' to prompts, suppress non-essential output
MMGEN v13.3.0 June 2023 MMGEN-TXSEND(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TXSEND(1)
```

@ -43,21 +43,21 @@
Transactions may contain both MMGen or non-MMGen input addresses.
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
as the key source ('--keys-from-file' option).
as the key source (--keys-from-file option).
To sign MMGen inputs, key data is generated from a seed as with the
mmgen-addrgen and mmgen-keygen commands. Alternatively, a key-address file
may be used (--mmgen-keys-from-file option).
Multiple wallets or other seed files can be listed on the command line in
any order. If the seeds required to sign the transaction's inputs are not
any order. If the seeds required to sign the transactions inputs are not
found in these files (or in the default wallet), the user will be prompted
for seed data interactively.
To prevent an attacker from crafting transactions with bogus MMGen-to-Bitcoin
address mappings, all outputs to MMGen addresses are verified with a seed
source. Therefore, seed files or a key-address file for all MMGen outputs
must also be supplied on the command line if the data can't be found in the
must also be supplied on the command line if the data cant be found in the
default wallet.
Seed source files must have the canonical extensions listed in the 'FileExt'
@ -79,5 +79,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-TXSIGN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-TXSIGN(1)
```

@ -30,7 +30,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -50,5 +50,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-WALLETCHK(1)
MMGEN v14.0.dev20 November 2023 MMGEN-WALLETCHK(1)
```

@ -41,7 +41,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -61,5 +61,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-WALLETCONV(1)
MMGEN v14.0.dev20 November 2023 MMGEN-WALLETCONV(1)
```

@ -33,7 +33,7 @@
BRAINWALLET NOTE:
To thwart dictionary attacks, it's recommended to use a strong hash preset
To thwart dictionary attacks, its recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
@ -53,5 +53,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.3.0 June 2023 MMGEN-WALLETGEN(1)
MMGEN v14.0.dev20 November 2023 MMGEN-WALLETGEN(1)
```

@ -272,10 +272,10 @@
cold signing as convenient as possible, almost like transacting with a hot
wallet.
If your signing machine is an SoC with MMGen LED support (see ‘mmgen-autosign
--help’), a quickly flashing LED will indicate that signing is in progress, a
slowly flashing LED an error condition, and no LED that the program is idle
and waiting for device insertion.
If your signing machine is an SoC with MMGen Wallet LED support (see
‘mmgen-autosign --help’), a quickly flashing LED will indicate that signing
is in progress, a slowly flashing LED an error condition, and no LED that the
program is idle and waiting for device insertion.
On your online machine, start monerod, wait until it’s fully synced with the
network, insert the removable device and execute:
@ -464,5 +464,5 @@
to delete your old hot wallets, make sure to do so securely using ‘shred’,
‘wipe’ or some other secure deletion utility.
MMGEN v13.3.0 June 2023 MMGEN-XMRWALLET(1)
MMGEN v14.0.dev20 November 2023 MMGEN-XMRWALLET(1)
```