command-help: used fenced code blocks
parent
7595242a36
commit
983ce02066
23 changed files with 2873 additions and 2674 deletions
|
|
@ -1,117 +1,119 @@
|
|||
MMGEN-ADDRGEN: Generate a range or list of addresses from an MMGen wallet,
|
||||
mnemonic, seed or brainwallet
|
||||
USAGE: mmgen-addrgen [opts] [seed source] <index list or range(s)>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-c, --print-checksum Print address list checksum and exit
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Print addresses to stdout
|
||||
-t, --type t Choose address type. Options: see ADDRESS TYPES below
|
||||
(default: 'L' or 'legacy')
|
||||
-U, --subwallet U Generate addresses for subwallet 'U' (see SUBWALLETS
|
||||
below)
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-ADDRGEN: Generate a range or list of addresses from an MMGen wallet,
|
||||
mnemonic, seed or brainwallet
|
||||
USAGE: mmgen-addrgen [opts] [seed source] <index list or range(s)>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-c, --print-checksum Print address list checksum and exit
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Print addresses to stdout
|
||||
-t, --type t Choose address type. Options: see ADDRESS TYPES below
|
||||
(default: 'L' or 'legacy')
|
||||
-U, --subwallet U Generate addresses for subwallet 'U' (see SUBWALLETS
|
||||
below)
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
NOTES FOR THIS COMMAND
|
||||
NOTES FOR THIS COMMAND
|
||||
|
||||
Address indexes are given as a comma-separated list and/or hyphen-separated
|
||||
range(s).
|
||||
Address indexes are given as a comma-separated list and/or hyphen-separated
|
||||
range(s).
|
||||
|
||||
If available, the libsecp256k1 library will be used for address generation.
|
||||
If available, the libsecp256k1 library will be used for address generation.
|
||||
|
||||
ADDRESS TYPES:
|
||||
'L','legacy' - Legacy uncompressed address
|
||||
'C','compressed' - Compressed P2PKH address
|
||||
'S','segwit' - Segwit P2SH-P2WPKH address
|
||||
'B','bech32' - Native Segwit (Bech32) address
|
||||
'E','ethereum' - Ethereum address
|
||||
'Z','zcash_z' - Zcash z-address
|
||||
'M','monero' - Monero address
|
||||
ADDRESS TYPES:
|
||||
'L','legacy' - Legacy uncompressed address
|
||||
'C','compressed' - Compressed P2PKH address
|
||||
'S','segwit' - Segwit P2SH-P2WPKH address
|
||||
'B','bech32' - Native Segwit (Bech32) address
|
||||
'E','ethereum' - Ethereum address
|
||||
'Z','zcash_z' - Zcash z-address
|
||||
'M','monero' - Monero address
|
||||
|
||||
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
|
||||
SUBWALLETS:
|
||||
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'
|
||||
a) an integer in the range 1-1000000, plus
|
||||
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.
|
||||
The long and short subseeds for a given index are derived independently,
|
||||
so both may be used.
|
||||
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 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
|
||||
inadvisable in practice for two reasons: Firstly, it creates accounting
|
||||
complexity, requiring the user to independently keep track of a derivation
|
||||
tree. More importantly, however, it leads to the danger of Seed ID
|
||||
collisions between subseeds at different levels of the hierarchy, as
|
||||
MMGen checks and avoids ID collisions only among sibling subseeds.
|
||||
Since subwallets are just wallets, they may be used to generate other
|
||||
subwallets, leading to hierarchies of arbitrary depth. However, this is
|
||||
inadvisable in practice for two reasons: Firstly, it creates accounting
|
||||
complexity, requiring the user to independently keep track of a derivation
|
||||
tree. More importantly, however, it leads to the danger of Seed ID
|
||||
collisions between subseeds at different levels of the hierarchy, as
|
||||
MMGen checks and avoids ID collisions only among sibling subseeds.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
||||
million subwallets, which should be enough for most practical purposes.
|
||||
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
|
||||
million subwallets, which should be enough for most practical purposes.
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-ADDRGEN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-ADDRGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,33 +1,35 @@
|
|||
MMGEN-ADDRIMPORT: Import addresses into an MMGen tracking wallet
|
||||
USAGE: mmgen-addrimport [opts] [MMGen address file]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-a, --address a Import the single coin address 'a'
|
||||
-b, --batch Import all addresses in one RPC call
|
||||
-l, --addrlist Address source is a flat list of non-MMGen coin addresses
|
||||
-k, --keyaddr-file Address source is a key-address file
|
||||
-q, --quiet Suppress warnings
|
||||
-r, --rescan Update address balances by selectively rescanning the
|
||||
blockchain for unspent outputs that include the imported
|
||||
address(es). Required if any of the imported addresses
|
||||
are already in the blockchain and have a balance.
|
||||
-t, --token-addr A Import addresses for ERC20 token with address 'A'
|
||||
```text
|
||||
MMGEN-ADDRIMPORT: Import addresses into an MMGen tracking wallet
|
||||
USAGE: mmgen-addrimport [opts] [MMGen address file]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-a, --address a Import the single coin address 'a'
|
||||
-b, --batch Import all addresses in one RPC call
|
||||
-l, --addrlist Address source is a flat list of non-MMGen coin addresses
|
||||
-k, --keyaddr-file Address source is a key-address file
|
||||
-q, --quiet Suppress warnings
|
||||
-r, --rescan Update address balances by selectively rescanning the
|
||||
blockchain for unspent outputs that include the imported
|
||||
address(es). Required if any of the imported addresses
|
||||
are already in the blockchain and have a balance.
|
||||
-t, --token-addr A Import addresses for ERC20 token with address 'A'
|
||||
|
||||
|
||||
This command can also be used to update the comment fields or balances of
|
||||
addresses already in the tracking wallet.
|
||||
This command can also be used to update the comment fields or balances of
|
||||
addresses already in the tracking wallet.
|
||||
|
||||
Rescanning now uses the ‘scantxoutset’ RPC call and a selective scan of
|
||||
blocks containing the relevant UTXOs for much faster performance than the
|
||||
previous implementation. The rescan operation typically takes around two
|
||||
minutes total, independent of the number of addresses imported.
|
||||
Rescanning now uses the ‘scantxoutset’ RPC call and a selective scan of
|
||||
blocks containing the relevant UTXOs for much faster performance than the
|
||||
previous implementation. The rescan operation typically takes around two
|
||||
minutes total, independent of the number of addresses imported.
|
||||
|
||||
Bear in mind that the UTXO scan will not find historical transactions: to add
|
||||
them to the tracking wallet, you must perform a full or partial rescan of the
|
||||
blockchain with the ‘mmgen-tool rescan_blockchain’ utility. A full rescan of
|
||||
the blockchain may take up to several hours.
|
||||
Bear in mind that the UTXO scan will not find historical transactions: to add
|
||||
them to the tracking wallet, you must perform a full or partial rescan of the
|
||||
blockchain with the ‘mmgen-tool rescan_blockchain’ utility. A full rescan of
|
||||
the blockchain may take up to several hours.
|
||||
|
||||
It’s recommended to use ‘--rpc-backend=aio’ with ‘--rescan’.
|
||||
It’s recommended to use ‘--rpc-backend=aio’ with ‘--rescan’.
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-ADDRIMPORT(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-ADDRIMPORT(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,74 +1,76 @@
|
|||
MMGEN-AUTOSIGN: Auto-sign MMGen transactions and message files
|
||||
USAGE: mmgen-autosign [opts] [command]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-c, --coins c Coins to sign for (comma-separated list)
|
||||
-I, --no-insert-check Don’t check for device insertion
|
||||
-l, --led Use status LED to signal standby, busy and error
|
||||
-m, --mountpoint M Specify an alternate mountpoint 'M' (default: '/mnt/tx')
|
||||
-M, --mnemonic-fmt F During setup, prompt for mnemonic seed phrase of format
|
||||
'F' (choices: 'mmgen','bip39'; default: 'mmgen')
|
||||
-n, --no-summary Don’t print a transaction summary
|
||||
-s, --stealth-led Stealth LED mode - signal busy and error only, and only
|
||||
after successful authorization.
|
||||
-S, --full-summary Print a full summary of each signed transaction after
|
||||
each autosign run. The default list of non-MMGen outputs
|
||||
will not be printed.
|
||||
-q, --quiet Produce quieter output
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-AUTOSIGN: Auto-sign MMGen transactions and message files
|
||||
USAGE: mmgen-autosign [opts] [command]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-c, --coins c Coins to sign for (comma-separated list)
|
||||
-I, --no-insert-check Don’t check for device insertion
|
||||
-l, --led Use status LED to signal standby, busy and error
|
||||
-m, --mountpoint M Specify an alternate mountpoint 'M' (default: '/mnt/tx')
|
||||
-M, --mnemonic-fmt F During setup, prompt for mnemonic seed phrase of format
|
||||
'F' (choices: 'mmgen','bip39'; default: 'mmgen')
|
||||
-n, --no-summary Don’t print a transaction summary
|
||||
-s, --stealth-led Stealth LED mode - signal busy and error only, and only
|
||||
after successful authorization.
|
||||
-S, --full-summary Print a full summary of each signed transaction after
|
||||
each autosign run. The default list of non-MMGen outputs
|
||||
will not be printed.
|
||||
-q, --quiet Produce quieter output
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
COMMANDS
|
||||
COMMANDS
|
||||
|
||||
gen_key - generate the wallet encryption key and copy it to '/mnt/tx'
|
||||
setup - generate the wallet encryption key and wallet
|
||||
wait - start in loop mode: wait-mount-sign-unmount-wait
|
||||
gen_key - generate the wallet encryption key and copy it to '/mnt/tx'
|
||||
setup - generate the wallet encryption key and wallet
|
||||
wait - start in loop mode: wait-mount-sign-unmount-wait
|
||||
|
||||
|
||||
USAGE NOTES
|
||||
USAGE NOTES
|
||||
|
||||
If invoked with no command, the program mounts a removable device containing
|
||||
unsigned MMGen transactions and/or message files, signs them, unmounts the
|
||||
removable device and exits.
|
||||
If invoked with no command, the program mounts a removable device containing
|
||||
unsigned MMGen transactions and/or message files, signs them, unmounts the
|
||||
removable device and exits.
|
||||
|
||||
If invoked with 'wait', the program waits in a loop, mounting the removable
|
||||
device, performing signing operations and unmounting the device every time it
|
||||
is inserted.
|
||||
If invoked with 'wait', the program waits in a loop, mounting the removable
|
||||
device, performing signing operations and unmounting the device every time it
|
||||
is inserted.
|
||||
|
||||
On supported platforms (currently Orange Pi, Rock Pi and Raspberry Pi boards),
|
||||
the status LED indicates whether the program is busy or in standby mode, i.e.
|
||||
ready for device insertion or removal.
|
||||
On supported platforms (currently Orange Pi, Rock Pi and Raspberry Pi boards),
|
||||
the status LED indicates whether the program is busy or in standby mode, i.e.
|
||||
ready for device insertion or removal.
|
||||
|
||||
The removable device must have a partition labeled MMGEN_TX with a user-
|
||||
writable root directory and a directory named '/tx', where unsigned MMGen
|
||||
transactions are placed. Optionally, the directory '/msg' may also be created
|
||||
and unsigned message files created by `mmgen-msg` placed in this directory.
|
||||
The removable device must have a partition labeled MMGEN_TX with a user-
|
||||
writable root directory and a directory named '/tx', where unsigned MMGen
|
||||
transactions are placed. Optionally, the directory '/msg' may also be created
|
||||
and unsigned message files created by `mmgen-msg` placed in this directory.
|
||||
|
||||
On the signing machine the mount point '/mnt/tx' must exist and /etc/fstab
|
||||
must contain the following entry:
|
||||
On the signing machine the mount point '/mnt/tx' must exist and /etc/fstab
|
||||
must contain the following entry:
|
||||
|
||||
LABEL='MMGEN_TX' /mnt/tx auto noauto,user 0 0
|
||||
LABEL='MMGEN_TX' /mnt/tx auto noauto,user 0 0
|
||||
|
||||
Transactions are signed with a wallet on the signing machine (in the directory
|
||||
'/dev/shm/autosign') encrypted with a 64-character hexadecimal password saved
|
||||
in the file `autosign.key` in the root of the removable device partition.
|
||||
Transactions are signed with a wallet on the signing machine (in the directory
|
||||
'/dev/shm/autosign') encrypted with a 64-character hexadecimal password saved
|
||||
in the file `autosign.key` in the root of the removable device partition.
|
||||
|
||||
The password and wallet can be created in one operation by invoking the
|
||||
command with 'setup' with the removable device inserted. In this case, the
|
||||
user will be prompted for a seed mnemonic.
|
||||
The password and wallet can be created in one operation by invoking the
|
||||
command with 'setup' with the removable device inserted. In this case, the
|
||||
user will be prompted for a seed mnemonic.
|
||||
|
||||
Alternatively, the password and wallet can be created separately by first
|
||||
invoking the command with 'gen_key' and then creating and encrypting the
|
||||
wallet using the -P (--passwd-file) option:
|
||||
Alternatively, the password and wallet can be created separately by first
|
||||
invoking the command with 'gen_key' and then creating and encrypting the
|
||||
wallet using the -P (--passwd-file) option:
|
||||
|
||||
$ mmgen-walletconv -r0 -q -iwords -d/dev/shm/autosign -p1 -P/mnt/tx/autosign.key -Llabel
|
||||
$ mmgen-walletconv -r0 -q -iwords -d/dev/shm/autosign -p1 -P/mnt/tx/autosign.key -Llabel
|
||||
|
||||
Note that the hash preset must be '1'. Multiple wallets are permissible.
|
||||
Note that the hash preset must be '1'. Multiple wallets are permissible.
|
||||
|
||||
For good security, it's advisable to re-generate a new wallet and key for
|
||||
each signing session.
|
||||
For good security, it's advisable to re-generate a new wallet and key for
|
||||
each signing session.
|
||||
|
||||
This command is currently available only on Linux-based platforms.
|
||||
This command is currently available only on Linux-based platforms.
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-AUTOSIGN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-AUTOSIGN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,121 +1,123 @@
|
|||
MMGEN-KEYGEN: Generate a range or list of secret keys from an MMGen wallet,
|
||||
mnemonic, seed or brainwallet
|
||||
USAGE: mmgen-keygen [opts] [seed source] <index list or range(s)>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-A, --no-addresses Print only secret keys, no addresses
|
||||
-c, --print-checksum Print address list checksum and exit
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Print keys to stdout
|
||||
-t, --type t Choose address type. Options: see ADDRESS TYPES below
|
||||
(default: 'L' or 'legacy')
|
||||
-U, --subwallet U Generate keys for subwallet 'U' (see SUBWALLETS
|
||||
below)
|
||||
-v, --verbose Produce more verbose output
|
||||
-x, --b16 Print secret keys in hexadecimal too
|
||||
```text
|
||||
MMGEN-KEYGEN: Generate a range or list of secret keys from an MMGen wallet,
|
||||
mnemonic, seed or brainwallet
|
||||
USAGE: mmgen-keygen [opts] [seed source] <index list or range(s)>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-A, --no-addresses Print only secret keys, no addresses
|
||||
-c, --print-checksum Print address list checksum and exit
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Print keys to stdout
|
||||
-t, --type t Choose address type. Options: see ADDRESS TYPES below
|
||||
(default: 'L' or 'legacy')
|
||||
-U, --subwallet U Generate keys for subwallet 'U' (see SUBWALLETS
|
||||
below)
|
||||
-v, --verbose Produce more verbose output
|
||||
-x, --b16 Print secret keys in hexadecimal too
|
||||
|
||||
|
||||
NOTES FOR THIS COMMAND
|
||||
NOTES FOR THIS COMMAND
|
||||
|
||||
Address indexes are given as a comma-separated list and/or hyphen-separated
|
||||
range(s).
|
||||
Address indexes are given as a comma-separated list and/or hyphen-separated
|
||||
range(s).
|
||||
|
||||
By default, both addresses and secret keys are generated.
|
||||
By default, both addresses and secret keys are generated.
|
||||
|
||||
If available, the libsecp256k1 library will be used for address generation.
|
||||
If available, the libsecp256k1 library will be used for address generation.
|
||||
|
||||
ADDRESS TYPES:
|
||||
'L','legacy' - Legacy uncompressed address
|
||||
'C','compressed' - Compressed P2PKH address
|
||||
'S','segwit' - Segwit P2SH-P2WPKH address
|
||||
'B','bech32' - Native Segwit (Bech32) address
|
||||
'E','ethereum' - Ethereum address
|
||||
'Z','zcash_z' - Zcash z-address
|
||||
'M','monero' - Monero address
|
||||
ADDRESS TYPES:
|
||||
'L','legacy' - Legacy uncompressed address
|
||||
'C','compressed' - Compressed P2PKH address
|
||||
'S','segwit' - Segwit P2SH-P2WPKH address
|
||||
'B','bech32' - Native Segwit (Bech32) address
|
||||
'E','ethereum' - Ethereum address
|
||||
'Z','zcash_z' - Zcash z-address
|
||||
'M','monero' - Monero address
|
||||
|
||||
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
|
||||
SUBWALLETS:
|
||||
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'
|
||||
a) an integer in the range 1-1000000, plus
|
||||
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.
|
||||
The long and short subseeds for a given index are derived independently,
|
||||
so both may be used.
|
||||
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 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
|
||||
inadvisable in practice for two reasons: Firstly, it creates accounting
|
||||
complexity, requiring the user to independently keep track of a derivation
|
||||
tree. More importantly, however, it leads to the danger of Seed ID
|
||||
collisions between subseeds at different levels of the hierarchy, as
|
||||
MMGen checks and avoids ID collisions only among sibling subseeds.
|
||||
Since subwallets are just wallets, they may be used to generate other
|
||||
subwallets, leading to hierarchies of arbitrary depth. However, this is
|
||||
inadvisable in practice for two reasons: Firstly, it creates accounting
|
||||
complexity, requiring the user to independently keep track of a derivation
|
||||
tree. More importantly, however, it leads to the danger of Seed ID
|
||||
collisions between subseeds at different levels of the hierarchy, as
|
||||
MMGen checks and avoids ID collisions only among sibling subseeds.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
||||
million subwallets, which should be enough for most practical purposes.
|
||||
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
|
||||
million subwallets, which should be enough for most practical purposes.
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-KEYGEN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-KEYGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,106 +1,108 @@
|
|||
MMGEN-MSG: Perform message signing operations for MMGen addresses
|
||||
USAGE: mmgen-msg [opts] create MESSAGE_TEXT ADDRESS_SPEC [...]
|
||||
mmgen-msg [opts] sign MESSAGE_FILE [WALLET_FILE ...]
|
||||
mmgen-msg [opts] verify MESSAGE_FILE [MMGen ID]
|
||||
mmgen-msg [opts] verify <exported JSON dump file> [address]
|
||||
mmgen-msg [opts] export MESSAGE_FILE [MMGen ID]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output file to directory 'd' instead of working dir
|
||||
-t, --msghash-type T Specify the message hash type. Supported values:
|
||||
'eth_sign' (ETH default), 'raw' (non-ETH default)
|
||||
-q, --quiet Produce quieter output
|
||||
```text
|
||||
MMGEN-MSG: Perform message signing operations for MMGen addresses
|
||||
USAGE: mmgen-msg [opts] create MESSAGE_TEXT ADDRESS_SPEC [...]
|
||||
mmgen-msg [opts] sign MESSAGE_FILE [WALLET_FILE ...]
|
||||
mmgen-msg [opts] verify MESSAGE_FILE [MMGen ID]
|
||||
mmgen-msg [opts] verify <exported JSON dump file> [address]
|
||||
mmgen-msg [opts] export MESSAGE_FILE [MMGen ID]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output file to directory 'd' instead of working dir
|
||||
-t, --msghash-type T Specify the message hash type. Supported values:
|
||||
'eth_sign' (ETH default), 'raw' (non-ETH default)
|
||||
-q, --quiet Produce quieter output
|
||||
|
||||
|
||||
SUPPORTED OPERATIONS
|
||||
SUPPORTED OPERATIONS
|
||||
|
||||
create - create a raw MMGen message file with specified message text for
|
||||
signing for addresses specified by ADDRESS_SPEC (see ADDRESS
|
||||
SPECIFIER below)
|
||||
sign - perform signing operation on an unsigned MMGen message file
|
||||
verify - verify and display the contents of a signed MMGen message file
|
||||
export - dump signed MMGen message file to ‘signatures.json’, including only
|
||||
data relevant for a third-party verifier
|
||||
create - create a raw MMGen message file with specified message text for
|
||||
signing for addresses specified by ADDRESS_SPEC (see ADDRESS
|
||||
SPECIFIER below)
|
||||
sign - perform signing operation on an unsigned MMGen message file
|
||||
verify - verify and display the contents of a signed MMGen message file
|
||||
export - dump signed MMGen message file to ‘signatures.json’, including only
|
||||
data relevant for a third-party verifier
|
||||
|
||||
|
||||
ADDRESS SPECIFIER
|
||||
ADDRESS SPECIFIER
|
||||
|
||||
The `create` operation takes one or more ADDRESS_SPEC arguments with the
|
||||
following format:
|
||||
The `create` operation takes one or more ADDRESS_SPEC arguments with the
|
||||
following format:
|
||||
|
||||
SEED_ID:ADDR_TYPE:ADDR_IDX_SPEC
|
||||
SEED_ID:ADDR_TYPE:ADDR_IDX_SPEC
|
||||
|
||||
where ADDR_TYPE is an address type letter from the list below, and
|
||||
ADDR_IDX_SPEC is a comma-separated list of address indexes or hyphen-
|
||||
separated address index ranges.
|
||||
where ADDR_TYPE is an address type letter from the list below, and
|
||||
ADDR_IDX_SPEC is a comma-separated list of address indexes or hyphen-
|
||||
separated address index ranges.
|
||||
|
||||
|
||||
ADDRESS TYPES
|
||||
ADDRESS TYPES
|
||||
|
||||
'L','legacy' - Legacy uncompressed address
|
||||
'C','compressed' - Compressed P2PKH address
|
||||
'S','segwit' - Segwit P2SH-P2WPKH address
|
||||
'B','bech32' - Native Segwit (Bech32) address
|
||||
'E','ethereum' - Ethereum address
|
||||
'Z','zcash_z' - Zcash z-address
|
||||
'M','monero' - Monero address
|
||||
'L','legacy' - Legacy uncompressed address
|
||||
'C','compressed' - Compressed P2PKH address
|
||||
'S','segwit' - Segwit P2SH-P2WPKH address
|
||||
'B','bech32' - Native Segwit (Bech32) address
|
||||
'E','ethereum' - Ethereum address
|
||||
'Z','zcash_z' - Zcash z-address
|
||||
'M','monero' - Monero address
|
||||
|
||||
|
||||
NOTES
|
||||
NOTES
|
||||
|
||||
Message signing operations are supported for Bitcoin, Ethereum and code forks
|
||||
thereof.
|
||||
Message signing operations are supported for Bitcoin, Ethereum and code forks
|
||||
thereof.
|
||||
|
||||
By default, Ethereum messages are prefixed before hashing in conformity with
|
||||
the standard defined by the Geth ‘eth_sign’ JSON-RPC call. This behavior may
|
||||
be overridden with the --msghash-type option.
|
||||
By default, Ethereum messages are prefixed before hashing in conformity with
|
||||
the standard defined by the Geth ‘eth_sign’ JSON-RPC call. This behavior may
|
||||
be overridden with the --msghash-type option.
|
||||
|
||||
Messages signed for Segwit-P2SH addresses cannot be verified directly using
|
||||
the Bitcoin Core `verifymessage` RPC call, since such addresses are not hashes
|
||||
of public keys. As a workaround for this limitation, this utility creates for
|
||||
each Segwit-P2SH address a non-Segwit address with the same public key to be
|
||||
used for verification purposes. This non-Segwit verifying address should then
|
||||
be passed on to the verifying party together with the signature. The verifying
|
||||
party may then use a tool of their choice (e.g. `mmgen-tool addr2pubhash`) to
|
||||
assure themselves that the verifying address and Segwit address share the same
|
||||
public key.
|
||||
Messages signed for Segwit-P2SH addresses cannot be verified directly using
|
||||
the Bitcoin Core `verifymessage` RPC call, since such addresses are not hashes
|
||||
of public keys. As a workaround for this limitation, this utility creates for
|
||||
each Segwit-P2SH address a non-Segwit address with the same public key to be
|
||||
used for verification purposes. This non-Segwit verifying address should then
|
||||
be passed on to the verifying party together with the signature. The verifying
|
||||
party may then use a tool of their choice (e.g. `mmgen-tool addr2pubhash`) to
|
||||
assure themselves that the verifying address and Segwit address share the same
|
||||
public key.
|
||||
|
||||
Unfortunately, the aforementioned limitation applies to Segwit-P2PKH (Bech32)
|
||||
addresses as well, despite the fact that Bech32 addresses are hashes of public
|
||||
keys (we consider this an implementation shortcoming of `verifymessage`).
|
||||
Therefore, the above procedure must be followed to verify messages for Bech32
|
||||
addresses too. `mmgen-tool addr2pubhash` or `bitcoin-cli validateaddress`
|
||||
may then be used to demonstrate that the two addresses share the same public
|
||||
key.
|
||||
Unfortunately, the aforementioned limitation applies to Segwit-P2PKH (Bech32)
|
||||
addresses as well, despite the fact that Bech32 addresses are hashes of public
|
||||
keys (we consider this an implementation shortcoming of `verifymessage`).
|
||||
Therefore, the above procedure must be followed to verify messages for Bech32
|
||||
addresses too. `mmgen-tool addr2pubhash` or `bitcoin-cli validateaddress`
|
||||
may then be used to demonstrate that the two addresses share the same public
|
||||
key.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
EXAMPLES
|
||||
|
||||
Create a raw message file for the specified message and specified addresses,
|
||||
where DEADBEEF is the Seed ID of the user’s default wallet and BEEFCAFE one
|
||||
of its subwallets:
|
||||
$ mmgen-msg create '16/3/2022 Earthquake strikes Fukushima coast' DEADBEEF:B:1-3,10,98 BEEFCAFE:S:3,9
|
||||
Create a raw message file for the specified message and specified addresses,
|
||||
where DEADBEEF is the Seed ID of the user’s default wallet and BEEFCAFE one
|
||||
of its subwallets:
|
||||
$ mmgen-msg create '16/3/2022 Earthquake strikes Fukushima coast' DEADBEEF:B:1-3,10,98 BEEFCAFE:S:3,9
|
||||
|
||||
Sign the raw message file created by the previous step:
|
||||
$ mmgen-msg sign <raw message file>
|
||||
Sign the raw message file created by the previous step:
|
||||
$ mmgen-msg sign <raw message file>
|
||||
|
||||
Sign the raw message file using an explicitly supplied wallet:
|
||||
$ mmgen-msg sign <raw message file> DEADBEEF.bip39
|
||||
Sign the raw message file using an explicitly supplied wallet:
|
||||
$ mmgen-msg sign <raw message file> DEADBEEF.bip39
|
||||
|
||||
Verify and display all signatures in the signed message file:
|
||||
$ mmgen-msg verify <signed message file>
|
||||
Verify and display all signatures in the signed message file:
|
||||
$ mmgen-msg verify <signed message file>
|
||||
|
||||
Verify and display a single signature in the signed message file:
|
||||
$ mmgen-msg verify <signed message file> DEADBEEF:B:98
|
||||
Verify and display a single signature in the signed message file:
|
||||
$ mmgen-msg verify <signed message file> DEADBEEF:B:98
|
||||
|
||||
Export data relevant for a third-party verifier to ‘signatures.json’:
|
||||
$ mmgen-msg export <signed message file>
|
||||
Export data relevant for a third-party verifier to ‘signatures.json’:
|
||||
$ mmgen-msg export <signed message file>
|
||||
|
||||
Same as above, but export only one signature:
|
||||
$ mmgen-msg export <signed message file> DEADBEEF:B:98
|
||||
Same as above, but export only one signature:
|
||||
$ mmgen-msg export <signed message file> DEADBEEF:B:98
|
||||
|
||||
Verify and display the exported JSON signature data:
|
||||
$ mmgen-msg verify signatures.json
|
||||
Verify and display the exported JSON signature data:
|
||||
$ mmgen-msg verify signatures.json
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-MSG(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-MSG(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,53 +1,55 @@
|
|||
MMGEN-PASSCHG: Change the passphrase, hash preset or label of the default or specified MMGen wallet
|
||||
USAGE: mmgen-passchg [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-f, --force-update Force update of wallet even if nothing has changed
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --keep-passphrase Reuse passphrase of input wallet for output wallet
|
||||
-K, --keep-hash-preset Reuse hash preset of input wallet for output wallet
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-m, --keep-label Reuse label of input wallet for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-PASSCHG: Change the passphrase, hash preset or label of the default or specified MMGen wallet
|
||||
USAGE: mmgen-passchg [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-f, --force-update Force update of wallet even if nothing has changed
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --keep-passphrase Reuse passphrase of input wallet for output wallet
|
||||
-K, --keep-hash-preset Reuse hash preset of input wallet for output wallet
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-m, --keep-label Reuse label of input wallet for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-PASSCHG(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-PASSCHG(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,102 +1,104 @@
|
|||
MMGEN-PASSGEN: Generate a range or list of passwords from an MMGen wallet,
|
||||
mnemonic, seed or brainwallet for the given ID string
|
||||
USAGE: mmgen-passgen [opts] [seed source] <ID string> <index list or range(s)>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-f, --passwd-fmt f Generate passwords of format 'f'. Default: b58.
|
||||
See PASSWORD FORMATS below
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-L, --passwd-len l Specify length of generated passwords. For defaults,
|
||||
see PASSWORD FORMATS below. An argument of 'h' will
|
||||
generate passwords of half the default length.
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Print passwords to stdout
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-PASSGEN: Generate a range or list of passwords from an MMGen wallet,
|
||||
mnemonic, seed or brainwallet for the given ID string
|
||||
USAGE: mmgen-passgen [opts] [seed source] <ID string> <index list or range(s)>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-f, --passwd-fmt f Generate passwords of format 'f'. Default: b58.
|
||||
See PASSWORD FORMATS below
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-L, --passwd-len l Specify length of generated passwords. For defaults,
|
||||
see PASSWORD FORMATS below. An argument of 'h' will
|
||||
generate passwords of half the default length.
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Print passwords to stdout
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
NOTES FOR THIS COMMAND
|
||||
NOTES FOR THIS COMMAND
|
||||
|
||||
ID string must be a valid UTF-8 string not longer than 256 characters and
|
||||
not containing the symbols ' ', ':', '/', '\'.
|
||||
ID string must be a valid UTF-8 string not longer than 256 characters and
|
||||
not containing the symbols ' ', ':', '/', '\'.
|
||||
|
||||
Password indexes are given as a comma-separated list and/or hyphen-separated
|
||||
range(s).
|
||||
Password indexes are given as a comma-separated list and/or hyphen-separated
|
||||
range(s).
|
||||
|
||||
Changing either the password format (base32,base58) or length alters the seed
|
||||
and thus generates a completely new set of passwords.
|
||||
Changing either the password format (base32,base58) or length alters the seed
|
||||
and thus generates a completely new set of passwords.
|
||||
|
||||
PASSWORD FORMATS:
|
||||
PASSWORD FORMATS:
|
||||
|
||||
Code Description Min Len Max Len Default Len
|
||||
b32 - base32 password 10 42 24
|
||||
b58 - base58 password 8 36 20
|
||||
bip39 - BIP39 mnemonic 12 24 24
|
||||
xmrseed - Monero new-style mnemonic 25 25 25
|
||||
hex - hexadecimal password 32 64 64
|
||||
Code Description Min Len Max Len Default Len
|
||||
b32 - base32 password 10 42 24
|
||||
b58 - base58 password 8 36 20
|
||||
bip39 - BIP39 mnemonic 12 24 24
|
||||
xmrseed - Monero new-style mnemonic 25 25 25
|
||||
hex - hexadecimal password 32 64 64
|
||||
|
||||
EXAMPLES:
|
||||
EXAMPLES:
|
||||
|
||||
Generate ten base58 passwords of length 20 for Alice's email account:
|
||||
mmgen-passgen alice@nowhere.com 1-10
|
||||
Generate ten base58 passwords of length 20 for Alice's email account:
|
||||
mmgen-passgen alice@nowhere.com 1-10
|
||||
|
||||
Generate ten base58 passwords of length 16 for Alice's email account:
|
||||
mmgen-passgen --passwd-len=16 alice@nowhere.com 1-10
|
||||
Generate ten base58 passwords of length 16 for Alice's email account:
|
||||
mmgen-passgen --passwd-len=16 alice@nowhere.com 1-10
|
||||
|
||||
Generate ten base32 passwords of length 24 for Alice's email account:
|
||||
mmgen-passgen --passwd-fmt=b32 alice@nowhere.com 1-10
|
||||
Generate ten base32 passwords of length 24 for Alice's email account:
|
||||
mmgen-passgen --passwd-fmt=b32 alice@nowhere.com 1-10
|
||||
|
||||
Generate three BIP39 mnemonic seed phrases of length 24 for Alice's
|
||||
Trezor device:
|
||||
mmgen-passgen --passwd-fmt=bip39 mytrezor 1-3
|
||||
Generate three BIP39 mnemonic seed phrases of length 24 for Alice's
|
||||
Trezor device:
|
||||
mmgen-passgen --passwd-fmt=bip39 mytrezor 1-3
|
||||
|
||||
All passwords are cryptographically unlinkable with each other, including
|
||||
passwords with the same format but different length, so Alice needn't worry
|
||||
about inadvertent reuse of private data.
|
||||
All passwords are cryptographically unlinkable with each other, including
|
||||
passwords with the same format but different length, so Alice needn't worry
|
||||
about inadvertent reuse of private data.
|
||||
|
||||
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-PASSGEN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-PASSGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,27 +1,28 @@
|
|||
MMGEN-REGTEST: Coin daemon regression test mode setup and operations for the MMGen suite
|
||||
USAGE: mmgen-regtest [opts] <command>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-e, --empty Don't fund Bob and Alice's wallets on setup
|
||||
-n, --setup-no-stop-daemon Don't stop daemon after setup is finished
|
||||
-q, --quiet Produce quieter output
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-REGTEST: Coin daemon regression test mode setup and operations for the MMGen suite
|
||||
USAGE: mmgen-regtest [opts] <command>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-e, --empty Don't fund Bob and Alice's wallets on setup
|
||||
-n, --setup-no-stop-daemon Don't stop daemon after setup is finished
|
||||
-q, --quiet Produce quieter output
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
AVAILABLE COMMANDS
|
||||
AVAILABLE COMMANDS
|
||||
|
||||
setup - set up Bob and Alice regtest mode
|
||||
start - start the regtest coin daemon
|
||||
stop - stop the regtest coin daemon
|
||||
generate N - mine N blocks (defaults to 1)
|
||||
send ADDR AMT - send amount AMT of miner funds to address ADDR
|
||||
state - show current state of daemon (ready, busy, or stopped)
|
||||
balances - get Bob and Alice's balances
|
||||
mempool - show transaction IDs in mempool
|
||||
cli - execute an RPC call with supplied arguments
|
||||
wallet_cli - execute a wallet RPC call with supplied arguments (wallet
|
||||
is first argument)
|
||||
setup - set up Bob and Alice regtest mode
|
||||
start - start the regtest coin daemon
|
||||
stop - stop the regtest coin daemon
|
||||
generate N - mine N blocks (defaults to 1)
|
||||
send ADDR AMT - send amount AMT of miner funds to address ADDR
|
||||
state - show current state of daemon (ready, busy, or stopped)
|
||||
balances - get Bob and Alice's balances
|
||||
mempool - show transaction IDs in mempool
|
||||
cli - execute an RPC call with supplied arguments
|
||||
wallet_cli - execute a wallet RPC call with supplied arguments (wallet
|
||||
is first argument)
|
||||
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-REGTEST(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-REGTEST(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,63 +1,65 @@
|
|||
MMGEN-SEEDJOIN: Regenerate an MMGen deterministic wallet from seed shares
|
||||
created by 'mmgen-seedsplit'
|
||||
USAGE: mmgen-seedjoin [options] share1 share2 [...shareN]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output file to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --id-str s ID String of split (required for master share join only)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated). NOTE: only the
|
||||
first share may be in hidden incognito format!
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-M, --master-share i Use a master share with index 'i' (min:1, max:1024)
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-SEEDJOIN: Regenerate an MMGen deterministic wallet from seed shares
|
||||
created by 'mmgen-seedsplit'
|
||||
USAGE: mmgen-seedjoin [options] share1 share2 [...shareN]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output file to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --id-str s ID String of split (required for master share join only)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated). NOTE: only the
|
||||
first share may be in hidden incognito format!
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-M, --master-share i Use a master share with index 'i' (min:1, max:1024)
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
COMMAND NOTES:
|
||||
COMMAND NOTES:
|
||||
|
||||
When joining with a master share, the master share must be listed first.
|
||||
The remaining shares may be listed in any order.
|
||||
When joining with a master share, the master share must be listed first.
|
||||
The remaining shares may be listed in any order.
|
||||
|
||||
The --id-str option is required only for master share joins. For ordinary
|
||||
joins it will be ignored.
|
||||
The --id-str option is required only for master share joins. For ordinary
|
||||
joins it will be ignored.
|
||||
|
||||
For usage examples, see the help screen for the 'mmgen-seedsplit' command.
|
||||
For usage examples, see the help screen for the 'mmgen-seedsplit' command.
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-SEEDJOIN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-SEEDJOIN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,144 +1,146 @@
|
|||
MMGEN-SEEDSPLIT: Generate a seed share from the default or specified MMGen wallet
|
||||
USAGE: mmgen-seedsplit [opts] [infile] [<Split ID String>:]<index>:<share count>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-M, --master-share i Use a master share with index 'i' (min:1, max:1024)
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-SEEDSPLIT: Generate a seed share from the default or specified MMGen wallet
|
||||
USAGE: mmgen-seedsplit [opts] [infile] [<Split ID String>:]<index>:<share count>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-M, --master-share i Use a master share with index 'i' (min:1, max:1024)
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
COMMAND NOTES:
|
||||
COMMAND NOTES:
|
||||
|
||||
This command generates shares one at a time. Shares may be output to any
|
||||
MMGen wallet format, with one limitation: only one share in a given split may
|
||||
be in hidden incognito format, and it must be the master share in the case of
|
||||
a master-share split.
|
||||
This command generates shares one at a time. Shares may be output to any
|
||||
MMGen wallet format, with one limitation: only one share in a given split may
|
||||
be in hidden incognito format, and it must be the master share in the case of
|
||||
a master-share split.
|
||||
|
||||
If the command's optional first argument is omitted, the default wallet is
|
||||
used for the split.
|
||||
If the command's optional first argument is omitted, the default wallet is
|
||||
used for the split.
|
||||
|
||||
The last argument is a seed split specifier consisting of an optional split
|
||||
ID, a share index, and a share count, all separated by colons. The split ID
|
||||
must be a valid UTF-8 string. If omitted, the ID 'default' is used. The
|
||||
share index (the index of the share being generated) must be in the range
|
||||
1-1024 and the share count (the total number of shares in the split)
|
||||
in the range 2-1024.
|
||||
The last argument is a seed split specifier consisting of an optional split
|
||||
ID, a share index, and a share count, all separated by colons. The split ID
|
||||
must be a valid UTF-8 string. If omitted, the ID 'default' is used. The
|
||||
share index (the index of the share being generated) must be in the range
|
||||
1-1024 and the share count (the total number of shares in the split)
|
||||
in the range 2-1024.
|
||||
|
||||
Master Shares
|
||||
Master Shares
|
||||
|
||||
Each seed has a total of 1024 master shares, which can be used as the first
|
||||
shares in multiple splits if desired. To generate a master share, use the
|
||||
--master-share (-M) option with an index in the range 1-1024 and omit
|
||||
the last argument.
|
||||
Each seed has a total of 1024 master shares, which can be used as the first
|
||||
shares in multiple splits if desired. To generate a master share, use the
|
||||
--master-share (-M) option with an index in the range 1-1024 and omit
|
||||
the last argument.
|
||||
|
||||
When creating and joining a split using a master share, ensure that the same
|
||||
master share index is used in all split and join commands.
|
||||
When creating and joining a split using a master share, ensure that the same
|
||||
master share index is used in all split and join commands.
|
||||
|
||||
EXAMPLES:
|
||||
EXAMPLES:
|
||||
|
||||
Split a BIP39 seed phrase into two BIP39 shares. Rejoin the split:
|
||||
Split a BIP39 seed phrase into two BIP39 shares. Rejoin the split:
|
||||
|
||||
$ echo 'zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong' > sample.bip39
|
||||
$ echo 'zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong' > sample.bip39
|
||||
|
||||
$ mmgen-seedsplit -o bip39 sample.bip39 1:2
|
||||
BIP39 mnemonic data written to file '03BAE887-default-1of2[D51CB683][128].bip39'
|
||||
$ mmgen-seedsplit -o bip39 sample.bip39 1:2
|
||||
BIP39 mnemonic data written to file '03BAE887-default-1of2[D51CB683][128].bip39'
|
||||
|
||||
$ mmgen-seedsplit -o bip39 sample.bip39 2:2
|
||||
BIP39 mnemonic data written to file '03BAE887-default-2of2[67BFD36E][128].bip39'
|
||||
$ mmgen-seedsplit -o bip39 sample.bip39 2:2
|
||||
BIP39 mnemonic data written to file '03BAE887-default-2of2[67BFD36E][128].bip39'
|
||||
|
||||
$ mmgen-seedjoin -o bip39 \
|
||||
'03BAE887-default-2of2[67BFD36E][128].bip39' \
|
||||
'03BAE887-default-1of2[D51CB683][128].bip39'
|
||||
BIP39 mnemonic data written to file '03BAE887[128].bip39'
|
||||
$ mmgen-seedjoin -o bip39 \
|
||||
'03BAE887-default-2of2[67BFD36E][128].bip39' \
|
||||
'03BAE887-default-1of2[D51CB683][128].bip39'
|
||||
BIP39 mnemonic data written to file '03BAE887[128].bip39'
|
||||
|
||||
$ cat '03BAE887[128].bip39'
|
||||
zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong
|
||||
$ cat '03BAE887[128].bip39'
|
||||
zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong
|
||||
|
||||
Create a 3-way default split of your default wallet, outputting all shares
|
||||
to default wallet format. Rejoin the split:
|
||||
Create a 3-way default split of your default wallet, outputting all shares
|
||||
to default wallet format. Rejoin the split:
|
||||
|
||||
$ mmgen-seedsplit 1:3 # Step A
|
||||
$ mmgen-seedsplit 2:3 # Step B
|
||||
$ mmgen-seedsplit 3:3 # Step C
|
||||
$ mmgen-seedjoin <output_of_step_A> <output_of_step_B> <output_of_step_C>
|
||||
$ mmgen-seedsplit 1:3 # Step A
|
||||
$ mmgen-seedsplit 2:3 # Step B
|
||||
$ mmgen-seedsplit 3:3 # Step C
|
||||
$ mmgen-seedjoin <output_of_step_A> <output_of_step_B> <output_of_step_C>
|
||||
|
||||
Create a 2-way split of your default wallet with ID string 'alice',
|
||||
outputting shares to MMGen native mnemonic format. Rejoin the split:
|
||||
Create a 2-way split of your default wallet with ID string 'alice',
|
||||
outputting shares to MMGen native mnemonic format. Rejoin the split:
|
||||
|
||||
$ mmgen-seedsplit -o words alice:1:2 # Step D
|
||||
$ mmgen-seedsplit -o words alice:2:2 # Step E
|
||||
$ mmgen-seedjoin <output_of_step_D> <output_of_step_E>
|
||||
$ mmgen-seedsplit -o words alice:1:2 # Step D
|
||||
$ mmgen-seedsplit -o words alice:2:2 # Step E
|
||||
$ mmgen-seedjoin <output_of_step_D> <output_of_step_E>
|
||||
|
||||
Create a 2-way split of your default wallet with ID string 'bob' using
|
||||
master share #7, outputting share #1 (the master share) to default wallet
|
||||
format and share #2 to BIP39 format. Rejoin the split:
|
||||
Create a 2-way split of your default wallet with ID string 'bob' using
|
||||
master share #7, outputting share #1 (the master share) to default wallet
|
||||
format and share #2 to BIP39 format. Rejoin the split:
|
||||
|
||||
$ mmgen-seedsplit -M7 # Step X
|
||||
$ mmgen-seedsplit -M7 -o bip39 bob:2:2 # Step Y
|
||||
$ mmgen-seedjoin -M7 --id-str=bob <output_of_step_X> <output_of_step_Y>
|
||||
$ mmgen-seedsplit -M7 # Step X
|
||||
$ mmgen-seedsplit -M7 -o bip39 bob:2:2 # Step Y
|
||||
$ mmgen-seedjoin -M7 --id-str=bob <output_of_step_X> <output_of_step_Y>
|
||||
|
||||
Create a 2-way split of your default wallet with ID string 'alice' using
|
||||
master share #7. Rejoin the split using master share #7 generated in the
|
||||
previous example:
|
||||
Create a 2-way split of your default wallet with ID string 'alice' using
|
||||
master share #7. Rejoin the split using master share #7 generated in the
|
||||
previous example:
|
||||
|
||||
$ mmgen-seedsplit -M7 -o bip39 alice:2:2 # Step Z
|
||||
$ mmgen-seedjoin -M7 --id-str=alice <output_of_step_X> <output_of_step_Z>
|
||||
$ mmgen-seedsplit -M7 -o bip39 alice:2:2 # Step Z
|
||||
$ mmgen-seedjoin -M7 --id-str=alice <output_of_step_X> <output_of_step_Z>
|
||||
|
||||
Create a 2-way default split of your default wallet with an incognito-format
|
||||
master share hidden in file 'my.hincog' at offset 1325. Rejoin the split:
|
||||
Create a 2-way default split of your default wallet with an incognito-format
|
||||
master share hidden in file 'my.hincog' at offset 1325. Rejoin the split:
|
||||
|
||||
$ mmgen-seedsplit -M4 -o hincog -J my.hincog,1325 1:2 # Step M (share A)
|
||||
$ mmgen-seedsplit -M4 -o bip39 2:2 # Step N (share B)
|
||||
$ mmgen-seedjoin -M4 -H my.hincog,1325 <output_of_step_N>
|
||||
$ mmgen-seedsplit -M4 -o hincog -J my.hincog,1325 1:2 # Step M (share A)
|
||||
$ mmgen-seedsplit -M4 -o bip39 2:2 # Step N (share B)
|
||||
$ mmgen-seedjoin -M4 -H my.hincog,1325 <output_of_step_N>
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-SEEDSPLIT(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-SEEDSPLIT(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,97 +1,99 @@
|
|||
MMGEN-SUBWALLETGEN: Generate a subwallet from the default or specified MMGen wallet
|
||||
USAGE: mmgen-subwalletgen [opts] [infile] <Subseed Index>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --keep-passphrase Reuse passphrase of input wallet for output wallet
|
||||
-K, --keep-hash-preset Reuse hash preset of input wallet for output wallet
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-m, --keep-label Reuse label of input wallet for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-SUBWALLETGEN: Generate a subwallet from the default or specified MMGen wallet
|
||||
USAGE: mmgen-subwalletgen [opts] [infile] <Subseed Index>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --keep-passphrase Reuse passphrase of input wallet for output wallet
|
||||
-K, --keep-hash-preset Reuse hash preset of input wallet for output wallet
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-m, --keep-label Reuse label of input wallet for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
SUBWALLETS:
|
||||
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'
|
||||
a) an integer in the range 1-1000000, plus
|
||||
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.
|
||||
The long and short subseeds for a given index are derived independently,
|
||||
so both may be used.
|
||||
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 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
|
||||
inadvisable in practice for two reasons: Firstly, it creates accounting
|
||||
complexity, requiring the user to independently keep track of a derivation
|
||||
tree. More importantly, however, it leads to the danger of Seed ID
|
||||
collisions between subseeds at different levels of the hierarchy, as
|
||||
MMGen checks and avoids ID collisions only among sibling subseeds.
|
||||
Since subwallets are just wallets, they may be used to generate other
|
||||
subwallets, leading to hierarchies of arbitrary depth. However, this is
|
||||
inadvisable in practice for two reasons: Firstly, it creates accounting
|
||||
complexity, requiring the user to independently keep track of a derivation
|
||||
tree. More importantly, however, it leads to the danger of Seed ID
|
||||
collisions between subseeds at different levels of the hierarchy, as
|
||||
MMGen checks and avoids ID collisions only among sibling subseeds.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
||||
million subwallets, which should be enough for most practical purposes.
|
||||
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
|
||||
million subwallets, which should be enough for most practical purposes.
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-SUBWALLETGEN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-SUBWALLETGEN(1)
|
||||
```
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,187 +1,189 @@
|
|||
GENERAL USAGE INFORMATION FOR MMGEN-TOOL COMMANDS
|
||||
```text
|
||||
GENERAL USAGE INFORMATION FOR MMGEN-TOOL COMMANDS
|
||||
|
||||
Arguments with only type specified in square brackets are required
|
||||
Arguments with only type specified in square brackets are required
|
||||
|
||||
Arguments with both type and default value specified in square brackets are
|
||||
optional and must be specified in the form ‘name=value’
|
||||
Arguments with both type and default value specified in square brackets are
|
||||
optional and must be specified in the form ‘name=value’
|
||||
|
||||
For more detailed usage information for a particular tool command, type
|
||||
‘mmgen-tool help <command name>’
|
||||
For more detailed usage information for a particular tool command, type
|
||||
‘mmgen-tool help <command name>’
|
||||
|
||||
|
||||
Help/usage commands:
|
||||
Help/usage commands:
|
||||
|
||||
help command_name [str='']
|
||||
usage command_name [str='']
|
||||
help command_name [str='']
|
||||
usage command_name [str='']
|
||||
|
||||
|
||||
General string conversion and hashing utilities:
|
||||
General string conversion and hashing utilities:
|
||||
|
||||
b32tohex b32_str [str or STDIN] pad [int=0]
|
||||
b58chktohex b58chk_str [str or STDIN]
|
||||
b58tobytes b58_str [str or STDIN] pad [int=0]
|
||||
b58tohex b58_str [str or STDIN] pad [int=0]
|
||||
b6dtohex b6d_str [str or STDIN] pad [int=0]
|
||||
bytespec dd_style_byte_specifier [str]
|
||||
bytestob58 infile [str] pad [int=0]
|
||||
hash160 hexstr [str or STDIN]
|
||||
hash256 data [str] file_input [bool=False] hex_input [bool=False]
|
||||
hexdump infile [str] cols [int=8] line_nums [str='hex']
|
||||
hexlify infile [str]
|
||||
hexreverse hexstr [str or STDIN]
|
||||
hextob32 hexstr [str or STDIN] pad [int=0]
|
||||
hextob58 hexstr [str or STDIN] pad [int=0]
|
||||
hextob58chk hexstr [str or STDIN]
|
||||
hextob6d hexstr [str or STDIN] pad [int=0] add_spaces [bool=True]
|
||||
id6 infile [str]
|
||||
id8 infile [str]
|
||||
randb58 nbytes [int=32] pad [int=0]
|
||||
randhex nbytes [int=32]
|
||||
str2id6 string [str or STDIN]
|
||||
to_bytespec n [int] dd_style_byte_specifier [str] fmt [str='0.2'] print_sym [bool=True] strip [bool=False] add_space [bool=False]
|
||||
unhexdump infile [str]
|
||||
unhexlify hexstr [str or STDIN]
|
||||
b32tohex b32_str [str or STDIN] pad [int=0]
|
||||
b58chktohex b58chk_str [str or STDIN]
|
||||
b58tobytes b58_str [str or STDIN] pad [int=0]
|
||||
b58tohex b58_str [str or STDIN] pad [int=0]
|
||||
b6dtohex b6d_str [str or STDIN] pad [int=0]
|
||||
bytespec dd_style_byte_specifier [str]
|
||||
bytestob58 infile [str] pad [int=0]
|
||||
hash160 hexstr [str or STDIN]
|
||||
hash256 data [str] file_input [bool=False] hex_input [bool=False]
|
||||
hexdump infile [str] cols [int=8] line_nums [str='hex']
|
||||
hexlify infile [str]
|
||||
hexreverse hexstr [str or STDIN]
|
||||
hextob32 hexstr [str or STDIN] pad [int=0]
|
||||
hextob58 hexstr [str or STDIN] pad [int=0]
|
||||
hextob58chk hexstr [str or STDIN]
|
||||
hextob6d hexstr [str or STDIN] pad [int=0] add_spaces [bool=True]
|
||||
id6 infile [str]
|
||||
id8 infile [str]
|
||||
randb58 nbytes [int=32] pad [int=0]
|
||||
randhex nbytes [int=32]
|
||||
str2id6 string [str or STDIN]
|
||||
to_bytespec n [int] dd_style_byte_specifier [str] fmt [str='0.2'] print_sym [bool=True] strip [bool=False] add_space [bool=False]
|
||||
unhexdump infile [str]
|
||||
unhexlify hexstr [str or STDIN]
|
||||
|
||||
|
||||
Cryptocoin key/address utilities:
|
||||
Cryptocoin key/address utilities:
|
||||
|
||||
May require use of the '--coin', '--type' and/or '--testnet' options
|
||||
May require use of the '--coin', '--type' and/or '--testnet' options
|
||||
|
||||
Examples:
|
||||
mmgen-tool --coin=ltc --type=bech32 wif2addr <wif key>
|
||||
mmgen-tool --coin=zec --type=zcash_z randpair
|
||||
Examples:
|
||||
mmgen-tool --coin=ltc --type=bech32 wif2addr <wif key>
|
||||
mmgen-tool --coin=zec --type=zcash_z randpair
|
||||
|
||||
addr2pubhash addr [str or STDIN]
|
||||
addr2scriptpubkey addr [str or STDIN]
|
||||
eth_checksummed_addr addr [str or STDIN]
|
||||
hex2wif privhex [str or STDIN]
|
||||
privhex2addr privhex [str or STDIN]
|
||||
privhex2pubhex privhex [str or STDIN]
|
||||
pubhash2addr pubhashhex [str or STDIN]
|
||||
pubhex2addr pubkeyhex [str or STDIN]
|
||||
pubhex2redeem_script pubkeyhex [str or STDIN]
|
||||
randpair
|
||||
randwif
|
||||
redeem_script2addr redeem_script_hex [str or STDIN]
|
||||
scriptpubkey2addr hexstr [str or STDIN]
|
||||
wif2addr wifkey [str or STDIN]
|
||||
wif2hex wifkey [str or STDIN]
|
||||
wif2redeem_script wifkey [str or STDIN]
|
||||
wif2segwit_pair wifkey [str or STDIN]
|
||||
addr2pubhash addr [str or STDIN]
|
||||
addr2scriptpubkey addr [str or STDIN]
|
||||
eth_checksummed_addr addr [str or STDIN]
|
||||
hex2wif privhex [str or STDIN]
|
||||
privhex2addr privhex [str or STDIN]
|
||||
privhex2pubhex privhex [str or STDIN]
|
||||
pubhash2addr pubhashhex [str or STDIN]
|
||||
pubhex2addr pubkeyhex [str or STDIN]
|
||||
pubhex2redeem_script pubkeyhex [str or STDIN]
|
||||
randpair
|
||||
randwif
|
||||
redeem_script2addr redeem_script_hex [str or STDIN]
|
||||
scriptpubkey2addr hexstr [str or STDIN]
|
||||
wif2addr wifkey [str or STDIN]
|
||||
wif2hex wifkey [str or STDIN]
|
||||
wif2redeem_script wifkey [str or STDIN]
|
||||
wif2segwit_pair wifkey [str or STDIN]
|
||||
|
||||
|
||||
Seed phrase utilities:
|
||||
Seed phrase utilities:
|
||||
|
||||
Supported seed phrase formats: 'mmgen' (default), 'bip39', 'xmrseed'
|
||||
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’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,
|
||||
users should be aware that BIP39 support does not imply BIP32 support!
|
||||
MMGen uses its own key derivation scheme differing from the one described
|
||||
by the BIP32 protocol.
|
||||
BIP39 support is fully compatible with the standard, allowing users to
|
||||
import and export seed entropy from BIP39-compatible wallets. However,
|
||||
users should be aware that BIP39 support does not imply BIP32 support!
|
||||
MMGen uses its own key derivation scheme differing from the one described
|
||||
by the BIP32 protocol.
|
||||
|
||||
For Monero (‘xmrseed’) seed phrases, input data is reduced to a spendkey
|
||||
before conversion so that a canonical seed phrase is produced. This is
|
||||
required because Monero seeds, unlike ordinary wallet seeds, are tied
|
||||
to a concrete key/address pair. To manually generate a Monero spendkey,
|
||||
use the ‘hex2wif’ command.
|
||||
For Monero (‘xmrseed’) seed phrases, input data is reduced to a spendkey
|
||||
before conversion so that a canonical seed phrase is produced. This is
|
||||
required because Monero seeds, unlike ordinary wallet seeds, are tied
|
||||
to a concrete key/address pair. To manually generate a Monero spendkey,
|
||||
use the ‘hex2wif’ command.
|
||||
|
||||
hex2mn hexstr [str or STDIN] fmt [str='mmgen']
|
||||
mn2hex seed_mnemonic [str or STDIN] fmt [str='mmgen']
|
||||
mn2hex_interactive fmt [str='mmgen'] mn_len [int=24] print_mn [bool=False]
|
||||
mn_printlist fmt [str='mmgen'] enum [bool=False] pager [bool=False]
|
||||
mn_rand128 fmt [str='mmgen']
|
||||
mn_rand192 fmt [str='mmgen']
|
||||
mn_rand256 fmt [str='mmgen']
|
||||
mn_stats fmt [str='mmgen']
|
||||
hex2mn hexstr [str or STDIN] fmt [str='mmgen']
|
||||
mn2hex seed_mnemonic [str or STDIN] fmt [str='mmgen']
|
||||
mn2hex_interactive fmt [str='mmgen'] mn_len [int=24] print_mn [bool=False]
|
||||
mn_printlist fmt [str='mmgen'] enum [bool=False] pager [bool=False]
|
||||
mn_rand128 fmt [str='mmgen']
|
||||
mn_rand192 fmt [str='mmgen']
|
||||
mn_rand256 fmt [str='mmgen']
|
||||
mn_stats fmt [str='mmgen']
|
||||
|
||||
|
||||
Utilities for viewing/checking MMGen address and transaction files:
|
||||
Utilities for viewing/checking MMGen address and transaction files:
|
||||
|
||||
addrfile_chksum mmgen_addrfile [str]
|
||||
keyaddrfile_chksum mmgen_keyaddrfile [str]
|
||||
passwdfile_chksum mmgen_passwdfile [str]
|
||||
txview mmgen_tx_file(s) [str] pager [bool=False] terse [bool=False] sort [str='addr'] filesort [str='mtime']
|
||||
addrfile_chksum mmgen_addrfile [str]
|
||||
keyaddrfile_chksum mmgen_keyaddrfile [str]
|
||||
passwdfile_chksum mmgen_passwdfile [str]
|
||||
txview mmgen_tx_file(s) [str] pager [bool=False] terse [bool=False] sort [str='addr'] filesort [str='mtime']
|
||||
|
||||
|
||||
File encryption and decryption:
|
||||
File encryption and decryption:
|
||||
|
||||
MMGen encryption suite:
|
||||
* Key: Scrypt (user-configurable hash parameters, 32-byte salt)
|
||||
* Enc: AES256_CTR, 16-byte rand IV, sha256 hash + 32-byte nonce + data
|
||||
* The encrypted file is indistinguishable from random data
|
||||
MMGen encryption suite:
|
||||
* Key: Scrypt (user-configurable hash parameters, 32-byte salt)
|
||||
* Enc: AES256_CTR, 16-byte rand IV, sha256 hash + 32-byte nonce + data
|
||||
* The encrypted file is indistinguishable from random data
|
||||
|
||||
decrypt infile [str] outfile [str=''] hash_preset [str='']
|
||||
encrypt infile [str] outfile [str=''] hash_preset [str='']
|
||||
decrypt infile [str] outfile [str=''] hash_preset [str='']
|
||||
encrypt infile [str] outfile [str=''] hash_preset [str='']
|
||||
|
||||
|
||||
File utilities:
|
||||
File utilities:
|
||||
|
||||
extract_key_from_geth_wallet wallet_file [str] check_addr [bool=True]
|
||||
find_incog_data filename [str] incog_id [str] keep_searching [bool=False]
|
||||
rand2file outfile [str] nbytes [str] threads [int=4] silent [bool=False]
|
||||
extract_key_from_geth_wallet wallet_file [str] check_addr [bool=True]
|
||||
find_incog_data filename [str] incog_id [str] keep_searching [bool=False]
|
||||
rand2file outfile [str] nbytes [str] threads [int=4] silent [bool=False]
|
||||
|
||||
|
||||
Key, address or subseed generation from an MMGen wallet:
|
||||
Key, address or subseed generation from an MMGen wallet:
|
||||
|
||||
gen_addr mmgen_addr [str] wallet [str='']
|
||||
gen_key mmgen_addr [str] wallet [str='']
|
||||
get_subseed subseed_idx [str] wallet [str='']
|
||||
get_subseed_by_seed_id seed_id [str] wallet [str=''] last_idx [int=100]
|
||||
list_shares share_count [int] id_str [str='default'] master_share [int=0] wallet [str='']
|
||||
list_subseeds subseed_idx_range [str] wallet [str='']
|
||||
gen_addr mmgen_addr [str] wallet [str='']
|
||||
gen_key mmgen_addr [str] wallet [str='']
|
||||
get_subseed subseed_idx [str] wallet [str='']
|
||||
get_subseed_by_seed_id seed_id [str] wallet [str=''] last_idx [int=100]
|
||||
list_shares share_count [int] id_str [str='default'] master_share [int=0] wallet [str='']
|
||||
list_subseeds subseed_idx_range [str] wallet [str='']
|
||||
|
||||
|
||||
Tracking-wallet commands using the JSON-RPC interface:
|
||||
Tracking-wallet commands using the JSON-RPC interface:
|
||||
|
||||
add_label mmgen_or_coin_addr [str] label [str]
|
||||
daemon_version
|
||||
getbalance minconf [int=1] quiet [bool=False] pager [bool=False]
|
||||
listaddress mmgen_addr [str] wide [bool=False] minconf [int=1] showcoinaddr [bool=True] age_fmt [str='confs']
|
||||
listaddresses pager [bool=False] reverse [bool=False] wide [bool=False] minconf [int=1] sort [str=''] age_fmt [str='confs'] interactive [bool=False] mmgen_addrs [str=''] showcoinaddrs [bool=True] showempty [bool=True] showused [int=1] all_labels [bool=False]
|
||||
remove_address mmgen_or_coin_addr [str]
|
||||
remove_label mmgen_or_coin_addr [str]
|
||||
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]
|
||||
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]
|
||||
add_label mmgen_or_coin_addr [str] label [str]
|
||||
daemon_version
|
||||
getbalance minconf [int=1] quiet [bool=False] pager [bool=False]
|
||||
listaddress mmgen_addr [str] wide [bool=False] minconf [int=1] showcoinaddr [bool=True] age_fmt [str='confs']
|
||||
listaddresses pager [bool=False] reverse [bool=False] wide [bool=False] minconf [int=1] sort [str=''] age_fmt [str='confs'] interactive [bool=False] mmgen_addrs [str=''] showcoinaddrs [bool=True] showempty [bool=True] showused [int=1] all_labels [bool=False]
|
||||
remove_address mmgen_or_coin_addr [str]
|
||||
remove_label mmgen_or_coin_addr [str]
|
||||
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]
|
||||
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]
|
||||
|
||||
|
||||
To force a command to read from STDIN instead of file (for commands taking
|
||||
a filename as their first argument), substitute "-" for the filename.
|
||||
To force a command to read from STDIN instead of file (for commands taking
|
||||
a filename as their first argument), substitute "-" for the filename.
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
EXAMPLES:
|
||||
|
||||
Generate a random LTC Bech32 public/private keypair:
|
||||
$ mmgen-tool -r0 --coin=ltc --type=bech32 randpair
|
||||
Generate a random LTC Bech32 public/private keypair:
|
||||
$ mmgen-tool -r0 --coin=ltc --type=bech32 randpair
|
||||
|
||||
Generate a DASH address with compressed public key from the supplied WIF key:
|
||||
$ mmgen-tool --coin=dash --type=compressed wif2addr XJkVRC3eGKurc9Uzx1wfQoio3yqkmaXVqLMTa6y7s3M3jTBnmxfw
|
||||
Generate a DASH address with compressed public key from the supplied WIF key:
|
||||
$ mmgen-tool --coin=dash --type=compressed wif2addr XJkVRC3eGKurc9Uzx1wfQoio3yqkmaXVqLMTa6y7s3M3jTBnmxfw
|
||||
|
||||
Generate a well-known burn address:
|
||||
$ mmgen-tool hextob58chk 000000000000000000000000000000000000000000
|
||||
Generate a well-known burn address:
|
||||
$ mmgen-tool hextob58chk 000000000000000000000000000000000000000000
|
||||
|
||||
Generate a random 12-word seed phrase:
|
||||
$ mmgen-tool -r0 mn_rand128 fmt=bip39
|
||||
Generate a random 12-word seed phrase:
|
||||
$ mmgen-tool -r0 mn_rand128 fmt=bip39
|
||||
|
||||
Same as above, but get additional entropy from user:
|
||||
$ mmgen-tool mn_rand128 fmt=bip39
|
||||
Same as above, but get additional entropy from user:
|
||||
$ mmgen-tool mn_rand128 fmt=bip39
|
||||
|
||||
Encode bytes from a file to base 58:
|
||||
$ mmgen-tool bytestob58 /etc/timezone pad=20
|
||||
Encode bytes from a file to base 58:
|
||||
$ mmgen-tool bytestob58 /etc/timezone pad=20
|
||||
|
||||
Reverse a hex string:
|
||||
$ mmgen-tool hexreverse "deadbeefcafe"
|
||||
Reverse a hex string:
|
||||
$ mmgen-tool hexreverse "deadbeefcafe"
|
||||
|
||||
Same as above, but supply input via STDIN:
|
||||
$ echo "deadbeefcafe" | mmgen-tool hexreverse -
|
||||
Same as above, but supply input via STDIN:
|
||||
$ echo "deadbeefcafe" | mmgen-tool hexreverse -
|
||||
|
||||
MMGEN v13.3.dev24 December 2022 MMGEN-TOOL(USAGE)(1)
|
||||
MMGEN v13.3.dev24 December 2022 MMGEN-TOOL(USAGE)(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,198 +1,200 @@
|
|||
MMGEN-TOOL: Perform various MMGen- and cryptocoin-related operations
|
||||
USAGE: mmgen-tool [opts] <command> <command args>
|
||||
OPTIONS:
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-l, --list List available commands
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-P, --passwd-file f Get passphrase from file 'f'.
|
||||
-q, --quiet Produce quieter output
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from
|
||||
user (min=10, max=80)
|
||||
-t, --type t Specify address type (valid choices: 'legacy',
|
||||
'compressed', 'segwit', 'bech32', 'zcash_z')
|
||||
-v, --verbose Produce more verbose output
|
||||
-X, --cached-balances Use cached balances (Ethereum only)
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
```text
|
||||
MMGEN-TOOL: Perform various MMGen- and cryptocoin-related operations
|
||||
USAGE: mmgen-tool [opts] <command> <command args>
|
||||
OPTIONS:
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-l, --list List available commands
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-P, --passwd-file f Get passphrase from file 'f'.
|
||||
-q, --quiet Produce quieter output
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from
|
||||
user (min=10, max=80)
|
||||
-t, --type t Specify address type (valid choices: 'legacy',
|
||||
'compressed', 'segwit', 'bech32', 'zcash_z')
|
||||
-v, --verbose Produce more verbose output
|
||||
-X, --cached-balances Use cached balances (Ethereum only)
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
|
||||
COMMANDS
|
||||
COMMANDS
|
||||
|
||||
Help/usage commands:
|
||||
Help/usage commands:
|
||||
|
||||
help - display usage information for a single command or all commands
|
||||
usage - display usage information for a single command or all commands
|
||||
help - display usage information for a single command or all commands
|
||||
usage - display usage information for a single command or all commands
|
||||
|
||||
General string conversion and hashing utilities:
|
||||
General string conversion and hashing utilities:
|
||||
|
||||
b32tohex - convert an MMGen-flavor base 32 string to hexadecimal
|
||||
b58chktohex - convert a base58-check encoded string to hexadecimal
|
||||
b58tobytes - convert a base 58 string to bytes (warning: outputs binary
|
||||
data)
|
||||
b58tohex - convert a base 58 string to hexadecimal
|
||||
b6dtohex - convert a die roll base6 (base6d) string to hexadecimal
|
||||
bytespec - convert a byte specifier such as ‘4GB’ into an integer
|
||||
bytestob58 - convert bytes to base 58 (supply data via STDIN)
|
||||
hash160 - compute ripemd160(sha256(data)) (convert hex pubkey to hex
|
||||
addr)
|
||||
hash256 - compute sha256(sha256(data)) (double sha256)
|
||||
hexdump - create hexdump of data from file (use '-' for stdin)
|
||||
hexlify - convert bytes in file to hexadecimal (use '-' for stdin)
|
||||
hexreverse - reverse bytes of a hexadecimal string
|
||||
hextob32 - convert a hexadecimal string to an MMGen-flavor base 32
|
||||
string
|
||||
hextob58 - convert a hexadecimal string to base 58
|
||||
hextob58chk - convert a hexadecimal string to base58-check encoding
|
||||
hextob6d - convert a hexadecimal string to die roll base6 (base6d)
|
||||
id6 - generate 6-character MMGen ID for a file (use '-' for stdin)
|
||||
id8 - generate 8-character MMGen ID for a file (use '-' for stdin)
|
||||
randb58 - generate random data (default: 32 bytes) and convert it to
|
||||
base 58
|
||||
randhex - print 'n' bytes (default 32) of random data in hex format
|
||||
str2id6 - generate 6-character MMGen ID for a string, ignoring spaces
|
||||
in string
|
||||
to_bytespec - convert an integer to a byte specifier such as ‘4GB’
|
||||
unhexdump - decode hexdump from file (use '-' for stdin) (warning:
|
||||
outputs binary data)
|
||||
unhexlify - convert a hexadecimal string to bytes (warning: outputs
|
||||
binary data)
|
||||
b32tohex - convert an MMGen-flavor base 32 string to hexadecimal
|
||||
b58chktohex - convert a base58-check encoded string to hexadecimal
|
||||
b58tobytes - convert a base 58 string to bytes (warning: outputs binary
|
||||
data)
|
||||
b58tohex - convert a base 58 string to hexadecimal
|
||||
b6dtohex - convert a die roll base6 (base6d) string to hexadecimal
|
||||
bytespec - convert a byte specifier such as ‘4GB’ into an integer
|
||||
bytestob58 - convert bytes to base 58 (supply data via STDIN)
|
||||
hash160 - compute ripemd160(sha256(data)) (convert hex pubkey to hex
|
||||
addr)
|
||||
hash256 - compute sha256(sha256(data)) (double sha256)
|
||||
hexdump - create hexdump of data from file (use '-' for stdin)
|
||||
hexlify - convert bytes in file to hexadecimal (use '-' for stdin)
|
||||
hexreverse - reverse bytes of a hexadecimal string
|
||||
hextob32 - convert a hexadecimal string to an MMGen-flavor base 32
|
||||
string
|
||||
hextob58 - convert a hexadecimal string to base 58
|
||||
hextob58chk - convert a hexadecimal string to base58-check encoding
|
||||
hextob6d - convert a hexadecimal string to die roll base6 (base6d)
|
||||
id6 - generate 6-character MMGen ID for a file (use '-' for stdin)
|
||||
id8 - generate 8-character MMGen ID for a file (use '-' for stdin)
|
||||
randb58 - generate random data (default: 32 bytes) and convert it to
|
||||
base 58
|
||||
randhex - print 'n' bytes (default 32) of random data in hex format
|
||||
str2id6 - generate 6-character MMGen ID for a string, ignoring spaces
|
||||
in string
|
||||
to_bytespec - convert an integer to a byte specifier such as ‘4GB’
|
||||
unhexdump - decode hexdump from file (use '-' for stdin) (warning:
|
||||
outputs binary data)
|
||||
unhexlify - convert a hexadecimal string to bytes (warning: outputs
|
||||
binary data)
|
||||
|
||||
Cryptocoin key/address utilities:
|
||||
Cryptocoin key/address utilities:
|
||||
|
||||
May require use of the '--coin', '--type' and/or '--testnet' options
|
||||
May require use of the '--coin', '--type' and/or '--testnet' options
|
||||
|
||||
Examples:
|
||||
mmgen-tool --coin=ltc --type=bech32 wif2addr <wif key>
|
||||
mmgen-tool --coin=zec --type=zcash_z randpair
|
||||
Examples:
|
||||
mmgen-tool --coin=ltc --type=bech32 wif2addr <wif key>
|
||||
mmgen-tool --coin=zec --type=zcash_z randpair
|
||||
|
||||
addr2pubhash - convert coin address to public key hash
|
||||
addr2scriptpubkey - convert coin address to scriptPubKey
|
||||
eth_checksummed_addr - create a checksummed Ethereum address
|
||||
hex2wif - convert a private key from hexadecimal to WIF format
|
||||
privhex2addr - generate a coin address from raw hexadecimal
|
||||
private key data
|
||||
privhex2pubhex - generate a hexadecimal public key from raw
|
||||
hexadecimal private key data
|
||||
pubhash2addr - convert public key hash to address
|
||||
pubhex2addr - convert a hexadecimal pubkey to an address
|
||||
pubhex2redeem_script - convert a hexadecimal pubkey to a Segwit
|
||||
P2SH-P2WPKH redeem script
|
||||
randpair - generate a random private key/address pair
|
||||
randwif - generate a random private key in WIF format
|
||||
redeem_script2addr - convert a Segwit P2SH-P2WPKH redeem script to an
|
||||
address
|
||||
scriptpubkey2addr - convert scriptPubKey to coin address
|
||||
wif2addr - generate a coin address from a key in WIF format
|
||||
wif2hex - convert a private key from WIF to hexadecimal format
|
||||
wif2redeem_script - convert a WIF private key to a Segwit P2SH-P2WPKH
|
||||
redeem script
|
||||
wif2segwit_pair - generate a Segwit P2SH-P2WPKH redeem script and
|
||||
address from a WIF private key
|
||||
addr2pubhash - convert coin address to public key hash
|
||||
addr2scriptpubkey - convert coin address to scriptPubKey
|
||||
eth_checksummed_addr - create a checksummed Ethereum address
|
||||
hex2wif - convert a private key from hexadecimal to WIF format
|
||||
privhex2addr - generate a coin address from raw hexadecimal
|
||||
private key data
|
||||
privhex2pubhex - generate a hexadecimal public key from raw
|
||||
hexadecimal private key data
|
||||
pubhash2addr - convert public key hash to address
|
||||
pubhex2addr - convert a hexadecimal pubkey to an address
|
||||
pubhex2redeem_script - convert a hexadecimal pubkey to a Segwit
|
||||
P2SH-P2WPKH redeem script
|
||||
randpair - generate a random private key/address pair
|
||||
randwif - generate a random private key in WIF format
|
||||
redeem_script2addr - convert a Segwit P2SH-P2WPKH redeem script to an
|
||||
address
|
||||
scriptpubkey2addr - convert scriptPubKey to coin address
|
||||
wif2addr - generate a coin address from a key in WIF format
|
||||
wif2hex - convert a private key from WIF to hexadecimal format
|
||||
wif2redeem_script - convert a WIF private key to a Segwit P2SH-P2WPKH
|
||||
redeem script
|
||||
wif2segwit_pair - generate a Segwit P2SH-P2WPKH redeem script and
|
||||
address from a WIF private key
|
||||
|
||||
Seed phrase utilities:
|
||||
Seed phrase utilities:
|
||||
|
||||
Supported seed phrase formats: 'mmgen' (default), 'bip39', 'xmrseed'
|
||||
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’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,
|
||||
users should be aware that BIP39 support does not imply BIP32 support!
|
||||
MMGen uses its own key derivation scheme differing from the one described
|
||||
by the BIP32 protocol.
|
||||
BIP39 support is fully compatible with the standard, allowing users to
|
||||
import and export seed entropy from BIP39-compatible wallets. However,
|
||||
users should be aware that BIP39 support does not imply BIP32 support!
|
||||
MMGen uses its own key derivation scheme differing from the one described
|
||||
by the BIP32 protocol.
|
||||
|
||||
For Monero (‘xmrseed’) seed phrases, input data is reduced to a spendkey
|
||||
before conversion so that a canonical seed phrase is produced. This is
|
||||
required because Monero seeds, unlike ordinary wallet seeds, are tied
|
||||
to a concrete key/address pair. To manually generate a Monero spendkey,
|
||||
use the ‘hex2wif’ command.
|
||||
For Monero (‘xmrseed’) seed phrases, input data is reduced to a spendkey
|
||||
before conversion so that a canonical seed phrase is produced. This is
|
||||
required because Monero seeds, unlike ordinary wallet seeds, are tied
|
||||
to a concrete key/address pair. To manually generate a Monero spendkey,
|
||||
use the ‘hex2wif’ command.
|
||||
|
||||
hex2mn - convert a 16, 24 or 32-byte hexadecimal string to a
|
||||
mnemonic seed phrase
|
||||
mn2hex - convert a mnemonic seed phrase to a hexadecimal string
|
||||
mn2hex_interactive - convert an interactively supplied mnemonic seed
|
||||
phrase to a hexadecimal string
|
||||
mn_printlist - print a mnemonic wordlist
|
||||
mn_rand128 - generate a random 128-bit mnemonic seed phrase
|
||||
mn_rand192 - generate a random 192-bit mnemonic seed phrase
|
||||
mn_rand256 - generate a random 256-bit mnemonic seed phrase
|
||||
mn_stats - show stats for a mnemonic wordlist
|
||||
hex2mn - convert a 16, 24 or 32-byte hexadecimal string to a
|
||||
mnemonic seed phrase
|
||||
mn2hex - convert a mnemonic seed phrase to a hexadecimal string
|
||||
mn2hex_interactive - convert an interactively supplied mnemonic seed
|
||||
phrase to a hexadecimal string
|
||||
mn_printlist - print a mnemonic wordlist
|
||||
mn_rand128 - generate a random 128-bit mnemonic seed phrase
|
||||
mn_rand192 - generate a random 192-bit mnemonic seed phrase
|
||||
mn_rand256 - generate a random 256-bit mnemonic seed phrase
|
||||
mn_stats - show stats for a mnemonic wordlist
|
||||
|
||||
Utilities for viewing/checking MMGen address and transaction files:
|
||||
Utilities for viewing/checking MMGen address and transaction files:
|
||||
|
||||
addrfile_chksum - compute checksum for MMGen address file
|
||||
keyaddrfile_chksum - compute checksum for MMGen key-address file
|
||||
passwdfile_chksum - compute checksum for MMGen password file
|
||||
txview - display specified raw or signed MMGen transaction
|
||||
files in human-readable form
|
||||
addrfile_chksum - compute checksum for MMGen address file
|
||||
keyaddrfile_chksum - compute checksum for MMGen key-address file
|
||||
passwdfile_chksum - compute checksum for MMGen password file
|
||||
txview - display specified raw or signed MMGen transaction
|
||||
files in human-readable form
|
||||
|
||||
File encryption and decryption:
|
||||
File encryption and decryption:
|
||||
|
||||
MMGen encryption suite:
|
||||
* Key: Scrypt (user-configurable hash parameters, 32-byte salt)
|
||||
* Enc: AES256_CTR, 16-byte rand IV, sha256 hash + 32-byte nonce + data
|
||||
* The encrypted file is indistinguishable from random data
|
||||
MMGen encryption suite:
|
||||
* Key: Scrypt (user-configurable hash parameters, 32-byte salt)
|
||||
* Enc: AES256_CTR, 16-byte rand IV, sha256 hash + 32-byte nonce + data
|
||||
* The encrypted file is indistinguishable from random data
|
||||
|
||||
decrypt - decrypt a file
|
||||
encrypt - encrypt a file
|
||||
decrypt - decrypt a file
|
||||
encrypt - encrypt a file
|
||||
|
||||
File utilities:
|
||||
File utilities:
|
||||
|
||||
extract_key_from_geth_wallet - decrypt the encrypted private key in a Geth
|
||||
keystore wallet, returning the decrypted key
|
||||
find_incog_data - Use an Incog ID to find hidden incognito
|
||||
wallet data
|
||||
rand2file - write ‘nbytes’ bytes of random data to
|
||||
specified file (dd-style byte specifiers
|
||||
supported)
|
||||
extract_key_from_geth_wallet - decrypt the encrypted private key in a Geth
|
||||
keystore wallet, returning the decrypted key
|
||||
find_incog_data - Use an Incog ID to find hidden incognito
|
||||
wallet data
|
||||
rand2file - write ‘nbytes’ bytes of random data to
|
||||
specified file (dd-style byte specifiers
|
||||
supported)
|
||||
|
||||
Key, address or subseed generation from an MMGen wallet:
|
||||
Key, address or subseed generation from an MMGen wallet:
|
||||
|
||||
gen_addr - generate a single MMGen address from default or
|
||||
specified wallet
|
||||
gen_key - generate a single WIF key for specified MMGen
|
||||
address from default or specified wallet
|
||||
get_subseed - get the Seed ID of a single subseed by Subseed
|
||||
Index for default or specified wallet
|
||||
get_subseed_by_seed_id - get the Subseed Index of a single subseed by Seed
|
||||
ID for default or specified wallet
|
||||
list_shares - list the Seed IDs of the shares resulting from a
|
||||
split of default or specified wallet
|
||||
list_subseeds - list a range of subseed Seed IDs for default or
|
||||
specified wallet
|
||||
gen_addr - generate a single MMGen address from default or
|
||||
specified wallet
|
||||
gen_key - generate a single WIF key for specified MMGen
|
||||
address from default or specified wallet
|
||||
get_subseed - get the Seed ID of a single subseed by Subseed
|
||||
Index for default or specified wallet
|
||||
get_subseed_by_seed_id - get the Subseed Index of a single subseed by Seed
|
||||
ID for default or specified wallet
|
||||
list_shares - list the Seed IDs of the shares resulting from a
|
||||
split of default or specified wallet
|
||||
list_subseeds - list a range of subseed Seed IDs for default or
|
||||
specified wallet
|
||||
|
||||
Tracking-wallet commands using the JSON-RPC interface:
|
||||
Tracking-wallet commands using the JSON-RPC interface:
|
||||
|
||||
add_label - add descriptive label for address in tracking wallet
|
||||
daemon_version - print coin daemon version
|
||||
getbalance - list confirmed/unconfirmed, spendable/unspendable
|
||||
balances in tracking wallet
|
||||
listaddress - list the specified MMGen address in the tracking
|
||||
wallet and its balance
|
||||
listaddresses - list MMGen addresses in the tracking wallet and their
|
||||
balances
|
||||
remove_address - remove an address from tracking wallet
|
||||
remove_label - remove descriptive label for address in tracking wallet
|
||||
rescan_address - rescan an address in the tracking wallet to update its
|
||||
balance
|
||||
rescan_blockchain - rescan the blockchain to update historical
|
||||
transactions in the tracking wallet
|
||||
resolve_address - resolve an MMGen address in the tracking wallet to a
|
||||
coin address or vice-versa
|
||||
twexport - export a tracking wallet to JSON format
|
||||
twimport - restore a tracking wallet from a JSON dump created by
|
||||
‘twexport’
|
||||
twview - view tracking wallet unspent outputs
|
||||
txhist - view transaction history of tracking wallet
|
||||
add_label - add descriptive label for address in tracking wallet
|
||||
daemon_version - print coin daemon version
|
||||
getbalance - list confirmed/unconfirmed, spendable/unspendable
|
||||
balances in tracking wallet
|
||||
listaddress - list the specified MMGen address in the tracking
|
||||
wallet and its balance
|
||||
listaddresses - list MMGen addresses in the tracking wallet and their
|
||||
balances
|
||||
remove_address - remove an address from tracking wallet
|
||||
remove_label - remove descriptive label for address in tracking wallet
|
||||
rescan_address - rescan an address in the tracking wallet to update its
|
||||
balance
|
||||
rescan_blockchain - rescan the blockchain to update historical
|
||||
transactions in the tracking wallet
|
||||
resolve_address - resolve an MMGen address in the tracking wallet to a
|
||||
coin address or vice-versa
|
||||
twexport - export a tracking wallet to JSON format
|
||||
twimport - restore a tracking wallet from a JSON dump created by
|
||||
‘twexport’
|
||||
twview - view tracking wallet unspent outputs
|
||||
txhist - view transaction history of tracking wallet
|
||||
|
||||
Type ‘mmgen-tool help <command>’ for help on a particular command
|
||||
Type ‘mmgen-tool help <command>’ for help on a particular command
|
||||
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TOOL(1)
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TOOL(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,89 +1,91 @@
|
|||
MMGEN-TXBUMP: Increase the fee on a replaceable (RBF) MMGen transaction,
|
||||
creating a new transaction, and optionally sign and send the
|
||||
new transaction
|
||||
USAGE: mmgen-txbump [opts] <MMGen TX file> [seed source] ...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
|
||||
brainwallet input
|
||||
-c, --comment-file f Source the transaction's comment from file 'f'
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-e, --echo-passphrase Print passphrase to screen when typing it
|
||||
-f, --fee f Transaction fee, as a decimal BTC amount or as
|
||||
satoshis per byte (an integer followed by 's').
|
||||
See FEE SPECIFICATION below.
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-k, --keys-from-file f Provide additional keys for non-MMGen addresses
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-M, --mmgen-keys-from-file f Provide keys for MMGen addresses in a key-
|
||||
address file (output of 'mmgen-keygen'). Permits
|
||||
online signing without an MMGen seed source. The
|
||||
key-address file is also used to verify MMGen-to-BTC
|
||||
mappings, so the user should record its checksum.
|
||||
-o, --output-to-reduce o Deduct the fee from output 'o' (an integer, or 'c'
|
||||
for the transaction's change output, if present)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-s, --send Sign and send the transaction (the default if seed
|
||||
data is provided)
|
||||
-v, --verbose Produce more verbose output
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
```text
|
||||
MMGEN-TXBUMP: Increase the fee on a replaceable (RBF) MMGen transaction,
|
||||
creating a new transaction, and optionally sign and send the
|
||||
new transaction
|
||||
USAGE: mmgen-txbump [opts] <MMGen TX file> [seed source] ...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
|
||||
brainwallet input
|
||||
-c, --comment-file f Source the transaction's comment from file 'f'
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-e, --echo-passphrase Print passphrase to screen when typing it
|
||||
-f, --fee f Transaction fee, as a decimal BTC amount or as
|
||||
satoshis per byte (an integer followed by 's').
|
||||
See FEE SPECIFICATION below.
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-k, --keys-from-file f Provide additional keys for non-MMGen addresses
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-M, --mmgen-keys-from-file f Provide keys for MMGen addresses in a key-
|
||||
address file (output of 'mmgen-keygen'). Permits
|
||||
online signing without an MMGen seed source. The
|
||||
key-address file is also used to verify MMGen-to-BTC
|
||||
mappings, so the user should record its checksum.
|
||||
-o, --output-to-reduce o Deduct the fee from output 'o' (an integer, or 'c'
|
||||
for the transaction's change output, if present)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-s, --send Sign and send the transaction (the default if seed
|
||||
data is provided)
|
||||
-v, --verbose Produce more verbose output
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
|
||||
|
||||
FEE SPECIFICATION
|
||||
FEE SPECIFICATION
|
||||
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute BTC amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by 's', for satoshi.
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute BTC amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by 's', for satoshi.
|
||||
|
||||
Transactions may contain both MMGen or non-MMGen input addresses.
|
||||
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).
|
||||
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
|
||||
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).
|
||||
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
|
||||
found in these files (or in the default wallet), the user will be prompted
|
||||
for seed data interactively.
|
||||
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
|
||||
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
|
||||
default wallet.
|
||||
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
|
||||
default wallet.
|
||||
|
||||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TXBUMP(1)
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TXBUMP(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,99 +1,101 @@
|
|||
MMGEN-TXCREATE: Create a transaction with outputs to specified coin or MMGen addresses
|
||||
USAGE: mmgen-txcreate [opts] [<addr,amt> ...] <change addr, addrlist ID or addr type> [addr file ...]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-a, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
|
||||
-B, --no-blank Don't blank screen before displaying unspent outputs
|
||||
-c, --comment-file f Source the transaction's comment from file 'f'
|
||||
-C, --fee-estimate-confs c Desired number of confirmations for fee estimation
|
||||
(default: 3)
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-D, --contract-data D Path to hex-encoded contract data (ETH only)
|
||||
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
|
||||
'conservative','economical'. Default: 'conservative'
|
||||
-f, --fee f Transaction fee, as a decimal BTC amount or as
|
||||
satoshis per byte (an integer followed by 's').
|
||||
See FEE SPECIFICATION below. If omitted, fee will be
|
||||
calculated using network fee estimation.
|
||||
-g, --gas g Specify start gas amount in Wei (ETH only)
|
||||
-i, --info Display unspent outputs and exit
|
||||
-I, --inputs i Specify transaction inputs (comma-separated list of
|
||||
MMGen IDs or coin addresses). Note that ALL unspent
|
||||
outputs associated with each address will be included.
|
||||
-L, --locktime t Lock time (block height or unix seconds) (default: 0)
|
||||
-m, --minconf n Minimum number of confirmations required to spend
|
||||
outputs (default: 1)
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-r, --rbf Make transaction BIP 125 replaceable (replace-by-fee)
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-X, --cached-balances Use cached balances (Ethereum only)
|
||||
```text
|
||||
MMGEN-TXCREATE: Create a transaction with outputs to specified coin or MMGen addresses
|
||||
USAGE: mmgen-txcreate [opts] [<addr,amt> ...] <change addr, addrlist ID or addr type> [addr file ...]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-a, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
|
||||
-B, --no-blank Don't blank screen before displaying unspent outputs
|
||||
-c, --comment-file f Source the transaction's comment from file 'f'
|
||||
-C, --fee-estimate-confs c Desired number of confirmations for fee estimation
|
||||
(default: 3)
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-D, --contract-data D Path to hex-encoded contract data (ETH only)
|
||||
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
|
||||
'conservative','economical'. Default: 'conservative'
|
||||
-f, --fee f Transaction fee, as a decimal BTC amount or as
|
||||
satoshis per byte (an integer followed by 's').
|
||||
See FEE SPECIFICATION below. If omitted, fee will be
|
||||
calculated using network fee estimation.
|
||||
-g, --gas g Specify start gas amount in Wei (ETH only)
|
||||
-i, --info Display unspent outputs and exit
|
||||
-I, --inputs i Specify transaction inputs (comma-separated list of
|
||||
MMGen IDs or coin addresses). Note that ALL unspent
|
||||
outputs associated with each address will be included.
|
||||
-L, --locktime t Lock time (block height or unix seconds) (default: 0)
|
||||
-m, --minconf n Minimum number of confirmations required to spend
|
||||
outputs (default: 1)
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-r, --rbf Make transaction BIP 125 replaceable (replace-by-fee)
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-X, --cached-balances Use cached balances (Ethereum only)
|
||||
|
||||
|
||||
The transaction’s outputs are listed on the command line, while its inputs
|
||||
are chosen from a list of the wallet’s unspent outputs via an interactive
|
||||
menu. Alternatively, inputs may be specified using the --inputs option.
|
||||
The transaction’s outputs are listed on the command line, while its inputs
|
||||
are chosen from a list of the wallet’s unspent outputs via an interactive
|
||||
menu. Alternatively, inputs may be specified using the --inputs option.
|
||||
|
||||
All addresses on the command line can be either Bitcoin addresses or MMGen
|
||||
IDs in the form <seed ID>:<address type letter>:<index>.
|
||||
All addresses on the command line can be either Bitcoin addresses or MMGen
|
||||
IDs in the form <seed ID>:<address type letter>:<index>.
|
||||
|
||||
Outputs are specified in the form <address>,<amount>, with the change output
|
||||
specified by address only. Alternatively, the change output may be an
|
||||
addrlist ID in the form <seed ID>:<address type letter>, in which case the
|
||||
first unused address in the tracking wallet matching the requested ID will
|
||||
be automatically selected as the change output.
|
||||
Outputs are specified in the form <address>,<amount>, with the change output
|
||||
specified by address only. Alternatively, the change output may be an
|
||||
addrlist ID in the form <seed ID>:<address type letter>, in which case the
|
||||
first unused address in the tracking wallet matching the requested ID will
|
||||
be automatically selected as the change output.
|
||||
|
||||
If the transaction fee is not specified on the command line (see FEE
|
||||
SPECIFICATION below), it will be calculated dynamically using network fee
|
||||
estimation for the default (or user-specified) number of confirmations.
|
||||
If network fee estimation fails, the user will be prompted for a fee.
|
||||
If the transaction fee is not specified on the command line (see FEE
|
||||
SPECIFICATION below), it will be calculated dynamically using network fee
|
||||
estimation for the default (or user-specified) number of confirmations.
|
||||
If network fee estimation fails, the user will be prompted for a fee.
|
||||
|
||||
Network-estimated fees will be multiplied by the value of --fee-adjust, if
|
||||
specified.
|
||||
Network-estimated fees will be multiplied by the value of --fee-adjust, if
|
||||
specified.
|
||||
|
||||
To send the value of all inputs (minus TX fee) to a single output, specify
|
||||
a single address with no amount on the command line. Alternatively, an
|
||||
addrlist ID may be specified, and the address will be chosen automatically
|
||||
as described above for the change output.
|
||||
To send the value of all inputs (minus TX fee) to a single output, specify
|
||||
a single address with no amount on the command line. Alternatively, an
|
||||
addrlist ID may be specified, and the address will be chosen automatically
|
||||
as described above for the change output.
|
||||
|
||||
|
||||
FEE SPECIFICATION
|
||||
FEE SPECIFICATION
|
||||
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute BTC amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by 's', for satoshi.
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute BTC amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by 's', for satoshi.
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
EXAMPLES:
|
||||
|
||||
Send 0.123 BTC to an external Bitcoin address, returning the change to a
|
||||
specific MMGen address in the tracking wallet:
|
||||
Send 0.123 BTC to an external Bitcoin address, returning the change to a
|
||||
specific MMGen address in the tracking wallet:
|
||||
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S:7
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S:7
|
||||
|
||||
Same as above, but select the change address automatically:
|
||||
Same as above, but select the change address automatically:
|
||||
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S
|
||||
|
||||
Same as above, but select the change address automatically by address type:
|
||||
Same as above, but select the change address automatically by address type:
|
||||
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
|
||||
Same as above, but reduce verbosity and specify fee of 20 satoshis
|
||||
per byte:
|
||||
Same as above, but reduce verbosity and specify fee of 20 satoshis
|
||||
per byte:
|
||||
|
||||
$ mmgen-txcreate -q -f 20s 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
$ mmgen-txcreate -q -f 20s 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
|
||||
Send entire balance of selected inputs minus fee to an external Bitcoin
|
||||
address:
|
||||
Send entire balance of selected inputs minus fee to an external Bitcoin
|
||||
address:
|
||||
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB
|
||||
|
||||
Send entire balance of selected inputs minus fee to first unused wallet
|
||||
address of specified type:
|
||||
Send entire balance of selected inputs minus fee to first unused wallet
|
||||
address of specified type:
|
||||
|
||||
$ mmgen-txcreate S
|
||||
$ mmgen-txcreate S
|
||||
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TXCREATE(1)
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TXCREATE(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,165 +1,167 @@
|
|||
MMGEN-TXDO: Create, sign and send an MMGen transaction
|
||||
USAGE: mmgen-txdo [opts] [<addr,amt> ...] <change addr, addrlist ID or addr type> [addr file ...] [seed source ...]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-a, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
|
||||
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
|
||||
brainwallet input
|
||||
-B, --no-blank Don't blank screen before displaying unspent outputs
|
||||
-c, --comment-file f Source the transaction's comment from file 'f'
|
||||
-C, --fee-estimate-confs c Desired number of confirmations for fee estimation
|
||||
(default: 3)
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-D, --contract-data D Path to hex-encoded contract data (ETH only)
|
||||
-e, --echo-passphrase Print passphrase to screen when typing it
|
||||
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
|
||||
'conservative','economical'. Default: 'conservative'
|
||||
-f, --fee f Transaction fee, as a decimal BTC amount or as
|
||||
satoshis per byte (an integer followed by 's').
|
||||
See FEE SPECIFICATION below. If omitted, fee will be
|
||||
calculated using network fee estimation.
|
||||
-g, --gas g Specify start gas amount in Wei (ETH only)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-I, --inputs i Specify transaction inputs (comma-separated list of
|
||||
MMGen IDs or coin addresses). Note that ALL unspent
|
||||
outputs associated with each address will be included.
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-k, --keys-from-file f Provide additional keys for non-MMGen addresses
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-L, --locktime t Lock time (block height or unix seconds) (default: 0)
|
||||
-m, --minconf n Minimum number of confirmations required to spend
|
||||
outputs (default: 1)
|
||||
-M, --mmgen-keys-from-file f Provide keys for MMGen addresses in a key-
|
||||
address file (output of 'mmgen-keygen'). Permits
|
||||
online signing without an MMGen seed source. The
|
||||
key-address file is also used to verify MMGen-to-BTC
|
||||
mappings, so the user should record its checksum.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
|
||||
-r, --rbf Make transaction BIP 125 (replace-by-fee) replaceable
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-u, --subseeds n The number of subseed pairs to scan for (default: 100,
|
||||
maximum: 1000000). Only the default or first supplied
|
||||
wallet is scanned for subseeds.
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-X, --cached-balances Use cached balances (Ethereum only)
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
```text
|
||||
MMGEN-TXDO: Create, sign and send an MMGen transaction
|
||||
USAGE: mmgen-txdo [opts] [<addr,amt> ...] <change addr, addrlist ID or addr type> [addr file ...] [seed source ...]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-a, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
|
||||
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
|
||||
brainwallet input
|
||||
-B, --no-blank Don't blank screen before displaying unspent outputs
|
||||
-c, --comment-file f Source the transaction's comment from file 'f'
|
||||
-C, --fee-estimate-confs c Desired number of confirmations for fee estimation
|
||||
(default: 3)
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-D, --contract-data D Path to hex-encoded contract data (ETH only)
|
||||
-e, --echo-passphrase Print passphrase to screen when typing it
|
||||
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
|
||||
'conservative','economical'. Default: 'conservative'
|
||||
-f, --fee f Transaction fee, as a decimal BTC amount or as
|
||||
satoshis per byte (an integer followed by 's').
|
||||
See FEE SPECIFICATION below. If omitted, fee will be
|
||||
calculated using network fee estimation.
|
||||
-g, --gas g Specify start gas amount in Wei (ETH only)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-I, --inputs i Specify transaction inputs (comma-separated list of
|
||||
MMGen IDs or coin addresses). Note that ALL unspent
|
||||
outputs associated with each address will be included.
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-k, --keys-from-file f Provide additional keys for non-MMGen addresses
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-L, --locktime t Lock time (block height or unix seconds) (default: 0)
|
||||
-m, --minconf n Minimum number of confirmations required to spend
|
||||
outputs (default: 1)
|
||||
-M, --mmgen-keys-from-file f Provide keys for MMGen addresses in a key-
|
||||
address file (output of 'mmgen-keygen'). Permits
|
||||
online signing without an MMGen seed source. The
|
||||
key-address file is also used to verify MMGen-to-BTC
|
||||
mappings, so the user should record its checksum.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
|
||||
-r, --rbf Make transaction BIP 125 (replace-by-fee) replaceable
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-u, --subseeds n The number of subseed pairs to scan for (default: 100,
|
||||
maximum: 1000000). Only the default or first supplied
|
||||
wallet is scanned for subseeds.
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-X, --cached-balances Use cached balances (Ethereum only)
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
|
||||
|
||||
The transaction’s outputs are listed on the command line, while its inputs
|
||||
are chosen from a list of the wallet’s unspent outputs via an interactive
|
||||
menu. Alternatively, inputs may be specified using the --inputs option.
|
||||
The transaction’s outputs are listed on the command line, while its inputs
|
||||
are chosen from a list of the wallet’s unspent outputs via an interactive
|
||||
menu. Alternatively, inputs may be specified using the --inputs option.
|
||||
|
||||
All addresses on the command line can be either Bitcoin addresses or MMGen
|
||||
IDs in the form <seed ID>:<address type letter>:<index>.
|
||||
All addresses on the command line can be either Bitcoin addresses or MMGen
|
||||
IDs in the form <seed ID>:<address type letter>:<index>.
|
||||
|
||||
Outputs are specified in the form <address>,<amount>, with the change output
|
||||
specified by address only. Alternatively, the change output may be an
|
||||
addrlist ID in the form <seed ID>:<address type letter>, in which case the
|
||||
first unused address in the tracking wallet matching the requested ID will
|
||||
be automatically selected as the change output.
|
||||
Outputs are specified in the form <address>,<amount>, with the change output
|
||||
specified by address only. Alternatively, the change output may be an
|
||||
addrlist ID in the form <seed ID>:<address type letter>, in which case the
|
||||
first unused address in the tracking wallet matching the requested ID will
|
||||
be automatically selected as the change output.
|
||||
|
||||
If the transaction fee is not specified on the command line (see FEE
|
||||
SPECIFICATION below), it will be calculated dynamically using network fee
|
||||
estimation for the default (or user-specified) number of confirmations.
|
||||
If network fee estimation fails, the user will be prompted for a fee.
|
||||
If the transaction fee is not specified on the command line (see FEE
|
||||
SPECIFICATION below), it will be calculated dynamically using network fee
|
||||
estimation for the default (or user-specified) number of confirmations.
|
||||
If network fee estimation fails, the user will be prompted for a fee.
|
||||
|
||||
Network-estimated fees will be multiplied by the value of --fee-adjust, if
|
||||
specified.
|
||||
Network-estimated fees will be multiplied by the value of --fee-adjust, if
|
||||
specified.
|
||||
|
||||
To send the value of all inputs (minus TX fee) to a single output, specify
|
||||
a single address with no amount on the command line. Alternatively, an
|
||||
addrlist ID may be specified, and the address will be chosen automatically
|
||||
as described above for the change output.
|
||||
To send the value of all inputs (minus TX fee) to a single output, specify
|
||||
a single address with no amount on the command line. Alternatively, an
|
||||
addrlist ID may be specified, and the address will be chosen automatically
|
||||
as described above for the change output.
|
||||
|
||||
|
||||
FEE SPECIFICATION
|
||||
FEE SPECIFICATION
|
||||
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute BTC amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by 's', for satoshi.
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute BTC amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by 's', for satoshi.
|
||||
|
||||
|
||||
SIGNING NOTES
|
||||
SIGNING NOTES
|
||||
|
||||
Transactions may contain both MMGen or non-MMGen input addresses.
|
||||
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).
|
||||
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
|
||||
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).
|
||||
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
|
||||
found in these files (or in the default wallet), the user will be prompted
|
||||
for seed data interactively.
|
||||
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
|
||||
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
|
||||
default wallet.
|
||||
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
|
||||
default wallet.
|
||||
|
||||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
EXAMPLES:
|
||||
|
||||
Send 0.123 BTC to an external Bitcoin address, returning the change to a
|
||||
specific MMGen address in the tracking wallet:
|
||||
Send 0.123 BTC to an external Bitcoin address, returning the change to a
|
||||
specific MMGen address in the tracking wallet:
|
||||
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S:7
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S:7
|
||||
|
||||
Same as above, but select the change address automatically:
|
||||
Same as above, but select the change address automatically:
|
||||
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S
|
||||
|
||||
Same as above, but select the change address automatically by address type:
|
||||
Same as above, but select the change address automatically by address type:
|
||||
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
|
||||
Same as above, but reduce verbosity and specify fee of 20 satoshis
|
||||
per byte:
|
||||
Same as above, but reduce verbosity and specify fee of 20 satoshis
|
||||
per byte:
|
||||
|
||||
$ mmgen-txdo -q -f 20s 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
$ mmgen-txdo -q -f 20s 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
|
||||
Send entire balance of selected inputs minus fee to an external Bitcoin
|
||||
address:
|
||||
Send entire balance of selected inputs minus fee to an external Bitcoin
|
||||
address:
|
||||
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB
|
||||
|
||||
Send entire balance of selected inputs minus fee to first unused wallet
|
||||
address of specified type:
|
||||
Send entire balance of selected inputs minus fee to first unused wallet
|
||||
address of specified type:
|
||||
|
||||
$ mmgen-txdo S
|
||||
$ mmgen-txdo S
|
||||
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TXDO(1)
|
||||
MMGEN v13.3.dev23 November 2022 MMGEN-TXDO(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
MMGEN-TXSEND: Send a signed MMGen cryptocoin transaction
|
||||
USAGE: mmgen-txsend [opts] <signed transaction file>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-s, --status Get status of a sent transaction
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
```text
|
||||
MMGEN-TXSEND: Send a signed MMGen cryptocoin transaction
|
||||
USAGE: mmgen-txsend [opts] <signed transaction file>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-s, --status Get status of a sent transaction
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-TXSEND(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-TXSEND(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,81 +1,83 @@
|
|||
MMGEN-TXSIGN: Sign cryptocoin transactions generated by mmgen-txcreate
|
||||
USAGE: mmgen-txsign [opts] <transaction file>... [seed source]...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
|
||||
brainwallet input
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-D, --tx-id Display transaction ID and exit
|
||||
-e, --echo-passphrase Print passphrase to screen when typing it
|
||||
-E, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-k, --keys-from-file f Provide additional keys for non-MMGen addresses
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-M, --mmgen-keys-from-file f Provide keys for MMGen addresses in a key-
|
||||
address file (output of 'mmgen-keygen'). Permits
|
||||
online signing without an MMGen seed source. The
|
||||
key-address file is also used to verify MMGen-to-BTC
|
||||
mappings, so the user should record its checksum.
|
||||
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-I, --info Display information about the transaction and exit
|
||||
-t, --terse-info Like '--info', but produce more concise output
|
||||
-u, --subseeds n The number of subseed pairs to scan for (default: 100,
|
||||
maximum: 1000000). Only the default or first supplied
|
||||
wallet is scanned for subseeds.
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
```text
|
||||
MMGEN-TXSIGN: Sign cryptocoin transactions generated by mmgen-txcreate
|
||||
USAGE: mmgen-txsign [opts] <transaction file>... [seed source]...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
|
||||
brainwallet input
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-D, --tx-id Display transaction ID and exit
|
||||
-e, --echo-passphrase Print passphrase to screen when typing it
|
||||
-E, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-k, --keys-from-file f Provide additional keys for non-MMGen addresses
|
||||
-K, --keygen-backend n Use backend 'n' for public key generation. Options
|
||||
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
|
||||
-M, --mmgen-keys-from-file f Provide keys for MMGen addresses in a key-
|
||||
address file (output of 'mmgen-keygen'). Permits
|
||||
online signing without an MMGen seed source. The
|
||||
key-address file is also used to verify MMGen-to-BTC
|
||||
mappings, so the user should record its checksum.
|
||||
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-I, --info Display information about the transaction and exit
|
||||
-t, --terse-info Like '--info', but produce more concise output
|
||||
-u, --subseeds n The number of subseed pairs to scan for (default: 100,
|
||||
maximum: 1000000). Only the default or first supplied
|
||||
wallet is scanned for subseeds.
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
|
||||
Transactions may contain both MMGen or non-MMGen input addresses.
|
||||
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).
|
||||
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
|
||||
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).
|
||||
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
|
||||
found in these files (or in the default wallet), the user will be prompted
|
||||
for seed data interactively.
|
||||
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
|
||||
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
|
||||
default wallet.
|
||||
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
|
||||
default wallet.
|
||||
|
||||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-TXSIGN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-TXSIGN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,52 +1,54 @@
|
|||
MMGEN-WALLETCHK: Check validity of the default or specified MMGen wallet
|
||||
USAGE: mmgen-walletchk [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-WALLETCHK: Check validity of the default or specified MMGen wallet
|
||||
USAGE: mmgen-walletchk [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Input from wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-WALLETCHK(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-WALLETCHK(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,62 +1,64 @@
|
|||
MMGEN-WALLETCONV: Convert the default or specified MMGen wallet from one format to another
|
||||
USAGE: mmgen-walletconv [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Convert from wallet format 'f' (see FMT CODES below)
|
||||
-o, --out-fmt f Convert to wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --keep-passphrase Reuse passphrase of input wallet for output wallet
|
||||
-K, --keep-hash-preset Reuse hash preset of input wallet for output wallet
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-m, --keep-label Reuse label of input wallet for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-WALLETCONV: Convert the default or specified MMGen wallet from one format to another
|
||||
USAGE: mmgen-walletconv [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-i, --in-fmt f Convert from wallet format 'f' (see FMT CODES below)
|
||||
-o, --out-fmt f Convert to wallet format 'f' (see FMT CODES below)
|
||||
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
|
||||
'f' at offset 'o' (comma-separated)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-O, --old-incog-fmt Specify old-format incognito input
|
||||
-k, --keep-passphrase Reuse passphrase of input wallet for output wallet
|
||||
-K, --keep-hash-preset Reuse hash preset of input wallet for output wallet
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-m, --keep-label Reuse label of input wallet for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-WALLETCONV(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-WALLETCONV(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,55 +1,57 @@
|
|||
MMGEN-WALLETGEN: Generate an MMGen wallet from a random seed
|
||||
USAGE: mmgen-walletgen [opts]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
```text
|
||||
MMGEN-WALLETGEN: Generate an MMGen wallet from a random seed
|
||||
USAGE: mmgen-walletgen [opts]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
-d, --outdir d Output files to directory 'd' instead of working dir
|
||||
-e, --echo-passphrase Echo passphrases and other user input to screen
|
||||
-o, --out-fmt f Output to wallet format 'f' (see FMT CODES below)
|
||||
-J, --hidden-incog-output-params f,o Write hidden incognito data to file
|
||||
'f' at offset 'o' (comma-separated). File 'f' will be
|
||||
created if necessary and filled with random data.
|
||||
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
|
||||
is required only for brainwallet and incognito inputs
|
||||
with non-standard (< 256-bit) seed lengths.
|
||||
-L, --label l Specify a label 'l' for output wallet
|
||||
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
|
||||
for password hashing (default: '3')
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
-P, --passwd-file f Get wallet passphrase from file 'f'
|
||||
-q, --quiet Produce quieter output; suppress some warnings
|
||||
-r, --usr-randchars n Get 'n' characters of additional randomness from user
|
||||
(min=10, max=80, default=30)
|
||||
-S, --stdout Write wallet data to stdout instead of file
|
||||
-v, --verbose Produce more verbose output
|
||||
|
||||
|
||||
PASSPHRASE NOTE:
|
||||
PASSPHRASE NOTE:
|
||||
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
For passphrases all combinations of whitespace are equal, and leading and
|
||||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
BRAINWALLET NOTE:
|
||||
BRAINWALLET NOTE:
|
||||
|
||||
To thwart dictionary attacks, it's 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.
|
||||
To thwart dictionary attacks, it's 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.
|
||||
|
||||
FMT CODES:
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
Format FileExt Valid codes
|
||||
------ ------- -----------
|
||||
BIP39Mnemonic .bip39 bip39
|
||||
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
|
||||
DieRollWallet .b6d b6d,die,dieroll
|
||||
IncogWallet .mmincog mmincog,incog,icg,i
|
||||
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
|
||||
IncogWalletHidden None incog_hidden,hincog,ih,hi
|
||||
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
|
||||
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
|
||||
MMGenSeedFile .mmseed mmseed,seed,s
|
||||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v13.2.0 August 2022 MMGEN-WALLETGEN(1)
|
||||
MMGEN v13.2.0 August 2022 MMGEN-WALLETGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,170 +1,172 @@
|
|||
MMGEN-XMRWALLET: Perform various Monero wallet operations for addresses
|
||||
in an MMGen XMR key-address file
|
||||
USAGE: mmgen-xmrwallet [opts] create <xmr_keyaddrfile> [wallets]
|
||||
mmgen-xmrwallet [opts] sync <xmr_keyaddrfile> [wallets]
|
||||
mmgen-xmrwallet [opts] list <xmr_keyaddrfile> [wallets]
|
||||
mmgen-xmrwallet [opts] new <xmr_keyaddrfile> NEW_ADDRESS_SPEC
|
||||
mmgen-xmrwallet [opts] transfer <xmr_keyaddrfile> TRANSFER_SPEC
|
||||
mmgen-xmrwallet [opts] sweep <xmr_keyaddrfile> SWEEP_SPEC
|
||||
mmgen-xmrwallet [opts] relay <TX_file>
|
||||
mmgen-xmrwallet [opts] txview <TX_file> ...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common
|
||||
options)
|
||||
-b, --rescan-blockchain Rescan the blockchain if wallet fails to sync
|
||||
-d, --outdir D Save transaction files to directory 'D'
|
||||
instead of the working directory
|
||||
-D, --daemon H:P Connect to the monerod at HOST:PORT
|
||||
-R, --tx-relay-daemon H:P[:H:P] Relay transactions via a monerod specified by
|
||||
HOST:PORT[:PROXY_HOST:PROXY_PORT]
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-p, --hash-preset P Use scrypt hash preset 'P' for password
|
||||
hashing (default: '3')
|
||||
-r, --restore-height H Scan from height 'H' when creating wallets
|
||||
-R, --no-relay Save transaction to file instead of relaying
|
||||
-s, --no-start-wallet-daemon Don’t start the wallet daemon at startup
|
||||
-S, --no-stop-wallet-daemon Don’t stop the wallet daemon at exit
|
||||
-w, --wallet-dir D Output or operate on wallets in directory 'D'
|
||||
instead of the working directory
|
||||
-H, --wallet-rpc-host host Wallet RPC hostname (default: 'localhost')
|
||||
-U, --wallet-rpc-user user Wallet RPC username (default: 'monero')
|
||||
-P, --wallet-rpc-password pass Wallet RPC password (default: '')
|
||||
```text
|
||||
MMGEN-XMRWALLET: Perform various Monero wallet operations for addresses
|
||||
in an MMGen XMR key-address file
|
||||
USAGE: mmgen-xmrwallet [opts] create <xmr_keyaddrfile> [wallets]
|
||||
mmgen-xmrwallet [opts] sync <xmr_keyaddrfile> [wallets]
|
||||
mmgen-xmrwallet [opts] list <xmr_keyaddrfile> [wallets]
|
||||
mmgen-xmrwallet [opts] new <xmr_keyaddrfile> NEW_ADDRESS_SPEC
|
||||
mmgen-xmrwallet [opts] transfer <xmr_keyaddrfile> TRANSFER_SPEC
|
||||
mmgen-xmrwallet [opts] sweep <xmr_keyaddrfile> SWEEP_SPEC
|
||||
mmgen-xmrwallet [opts] relay <TX_file>
|
||||
mmgen-xmrwallet [opts] txview <TX_file> ...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common
|
||||
options)
|
||||
-b, --rescan-blockchain Rescan the blockchain if wallet fails to sync
|
||||
-d, --outdir D Save transaction files to directory 'D'
|
||||
instead of the working directory
|
||||
-D, --daemon H:P Connect to the monerod at HOST:PORT
|
||||
-R, --tx-relay-daemon H:P[:H:P] Relay transactions via a monerod specified by
|
||||
HOST:PORT[:PROXY_HOST:PROXY_PORT]
|
||||
-k, --use-internal-keccak-module Force use of the internal keccak module
|
||||
-p, --hash-preset P Use scrypt hash preset 'P' for password
|
||||
hashing (default: '3')
|
||||
-r, --restore-height H Scan from height 'H' when creating wallets
|
||||
-R, --no-relay Save transaction to file instead of relaying
|
||||
-s, --no-start-wallet-daemon Don’t start the wallet daemon at startup
|
||||
-S, --no-stop-wallet-daemon Don’t stop the wallet daemon at exit
|
||||
-w, --wallet-dir D Output or operate on wallets in directory 'D'
|
||||
instead of the working directory
|
||||
-H, --wallet-rpc-host host Wallet RPC hostname (default: 'localhost')
|
||||
-U, --wallet-rpc-user user Wallet RPC username (default: 'monero')
|
||||
-P, --wallet-rpc-password pass Wallet RPC password (default: '')
|
||||
|
||||
|
||||
All operations except for ‘relay’ require a running Monero daemon. Unless
|
||||
--daemon is specified, the monerod is assumed to be listening on localhost at
|
||||
the default RPC port.
|
||||
All operations except for ‘relay’ require a running Monero daemon. Unless
|
||||
--daemon is specified, the monerod is assumed to be listening on localhost at
|
||||
the default RPC port.
|
||||
|
||||
If --tx-relay-daemon is specified, the monerod at HOST:PORT will be used to
|
||||
relay any created transactions. PROXY_HOST:PROXY_PORT, if specified, may
|
||||
point to a SOCKS proxy, in which case HOST may be a Tor onion address.
|
||||
If --tx-relay-daemon is specified, the monerod at HOST:PORT will be used to
|
||||
relay any created transactions. PROXY_HOST:PROXY_PORT, if specified, may
|
||||
point to a SOCKS proxy, in which case HOST may be a Tor onion address.
|
||||
|
||||
All communications use the RPC protocol via SSL (HTTPS) or Tor. RPC over
|
||||
plain HTTP is not supported.
|
||||
All communications use the RPC protocol via SSL (HTTPS) or Tor. RPC over
|
||||
plain HTTP is not supported.
|
||||
|
||||
|
||||
SUPPORTED OPERATIONS
|
||||
SUPPORTED OPERATIONS
|
||||
|
||||
create - create wallet for all or specified addresses in key-address file
|
||||
sync - sync wallet for all or specified addresses in key-address file
|
||||
list - same as 'sync', but also list detailed address info for accounts
|
||||
new - create a new account in a wallet, or a new address in an account
|
||||
transfer - transfer specified XMR amount from specified wallet:account to
|
||||
specified address
|
||||
sweep - sweep funds in specified wallet:account to new address in same
|
||||
account or new account in another wallet
|
||||
relay - relay a transaction from a transaction file created using 'sweep'
|
||||
or 'transfer' with the --no-relay option
|
||||
txview - view a transaction file or files created using 'sweep' or
|
||||
'transfer' with the --no-relay option
|
||||
create - create wallet for all or specified addresses in key-address file
|
||||
sync - sync wallet for all or specified addresses in key-address file
|
||||
list - same as 'sync', but also list detailed address info for accounts
|
||||
new - create a new account in a wallet, or a new address in an account
|
||||
transfer - transfer specified XMR amount from specified wallet:account to
|
||||
specified address
|
||||
sweep - sweep funds in specified wallet:account to new address in same
|
||||
account or new account in another wallet
|
||||
relay - relay a transaction from a transaction file created using 'sweep'
|
||||
or 'transfer' with the --no-relay option
|
||||
txview - view a transaction file or files created using 'sweep' or
|
||||
'transfer' with the --no-relay option
|
||||
|
||||
|
||||
'CREATE', 'SYNC' AND 'LIST' OPERATION NOTES
|
||||
'CREATE', 'SYNC' AND 'LIST' OPERATION NOTES
|
||||
|
||||
These operations take an optional `wallets` argument: one or more address
|
||||
indexes (expressed as a comma-separated list, hyphenated range, or both)
|
||||
in the specified key-address file, each corresponding to a Monero wallet
|
||||
to be created, synced or listed. If omitted, all wallets are operated upon.
|
||||
These operations take an optional `wallets` argument: one or more address
|
||||
indexes (expressed as a comma-separated list, hyphenated range, or both)
|
||||
in the specified key-address file, each corresponding to a Monero wallet
|
||||
to be created, synced or listed. If omitted, all wallets are operated upon.
|
||||
|
||||
|
||||
'NEW' OPERATION NOTES
|
||||
'NEW' OPERATION NOTES
|
||||
|
||||
This operation takes a NEW_ADDRESS_SPEC arg with the following format:
|
||||
This operation takes a NEW_ADDRESS_SPEC arg with the following format:
|
||||
|
||||
WALLET[:ACCOUNT][,"label text"]
|
||||
WALLET[:ACCOUNT][,"label text"]
|
||||
|
||||
where WALLET is a wallet number and ACCOUNT an account index. If ACCOUNT is
|
||||
omitted, a new account will be created in the wallet, otherwise a new address
|
||||
will be created in the specified account. An optional label text may be
|
||||
appended to the spec following a comma.
|
||||
where WALLET is a wallet number and ACCOUNT an account index. If ACCOUNT is
|
||||
omitted, a new account will be created in the wallet, otherwise a new address
|
||||
will be created in the specified account. An optional label text may be
|
||||
appended to the spec following a comma.
|
||||
|
||||
|
||||
'TRANSFER' OPERATION NOTES
|
||||
'TRANSFER' OPERATION NOTES
|
||||
|
||||
The transfer operation takes a TRANSFER_SPEC arg with the following format:
|
||||
The transfer operation takes a TRANSFER_SPEC arg with the following format:
|
||||
|
||||
SOURCE:ACCOUNT:ADDRESS,AMOUNT
|
||||
SOURCE:ACCOUNT:ADDRESS,AMOUNT
|
||||
|
||||
where SOURCE is a wallet number; ACCOUNT the source account index; and ADDRESS
|
||||
and AMOUNT the destination Monero address and XMR amount, respectively.
|
||||
where SOURCE is a wallet number; ACCOUNT the source account index; and ADDRESS
|
||||
and AMOUNT the destination Monero address and XMR amount, respectively.
|
||||
|
||||
|
||||
'SWEEP' OPERATION NOTES
|
||||
'SWEEP' OPERATION NOTES
|
||||
|
||||
The sweep operation takes a SWEEP_SPEC arg with the following format:
|
||||
The sweep operation takes a SWEEP_SPEC arg with the following format:
|
||||
|
||||
SOURCE:ACCOUNT[,DEST]
|
||||
SOURCE:ACCOUNT[,DEST]
|
||||
|
||||
where SOURCE and DEST are wallet numbers and ACCOUNT an account index.
|
||||
where SOURCE and DEST are wallet numbers and ACCOUNT an account index.
|
||||
|
||||
If DEST is omitted, a new address will be created in ACCOUNT of SOURCE and
|
||||
all funds from ACCOUNT of SOURCE will be swept into it.
|
||||
If DEST is omitted, a new address will be created in ACCOUNT of SOURCE and
|
||||
all funds from ACCOUNT of SOURCE will be swept into it.
|
||||
|
||||
If DEST is included, all funds from ACCOUNT of SOURCE will be swept into a
|
||||
newly created account in DEST, or the last existing account, if requested
|
||||
by the user.
|
||||
If DEST is included, all funds from ACCOUNT of SOURCE will be swept into a
|
||||
newly created account in DEST, or the last existing account, if requested
|
||||
by the user.
|
||||
|
||||
The user is prompted before addresses are created or funds are transferred.
|
||||
The user is prompted before addresses are created or funds are transferred.
|
||||
|
||||
Note that multiple sweep operations may be required to sweep all the funds
|
||||
in an account.
|
||||
Note that multiple sweep operations may be required to sweep all the funds
|
||||
in an account.
|
||||
|
||||
|
||||
'RELAY' OPERATION NOTES
|
||||
'RELAY' OPERATION NOTES
|
||||
|
||||
By default, transactions are relayed to a monerod running on localhost at the
|
||||
default RPC port. To relay transactions to a remote or non-default monerod
|
||||
via optional SOCKS proxy, use the --tx-relay-daemon option described above.
|
||||
By default, transactions are relayed to a monerod running on localhost at the
|
||||
default RPC port. To relay transactions to a remote or non-default monerod
|
||||
via optional SOCKS proxy, use the --tx-relay-daemon option described above.
|
||||
|
||||
|
||||
WARNING
|
||||
WARNING
|
||||
|
||||
To avoid exposing your private keys on a network-connected machine, you’re
|
||||
strongly advised to create all transactions offline using the --no-relay
|
||||
option. For this, a monerod with a fully synced blockchain must be running
|
||||
on the offline machine. The resulting transaction files are then sent using
|
||||
the 'relay' operation.
|
||||
To avoid exposing your private keys on a network-connected machine, you’re
|
||||
strongly advised to create all transactions offline using the --no-relay
|
||||
option. For this, a monerod with a fully synced blockchain must be running
|
||||
on the offline machine. The resulting transaction files are then sent using
|
||||
the 'relay' operation.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
EXAMPLES
|
||||
|
||||
Generate an XMR key-address file with 5 addresses from your default wallet:
|
||||
$ mmgen-keygen --coin=xmr 1-5
|
||||
Generate an XMR key-address file with 5 addresses from your default wallet:
|
||||
$ mmgen-keygen --coin=xmr 1-5
|
||||
|
||||
Create 3 Monero wallets from the key-address file:
|
||||
$ mmgen-xmrwallet create *.akeys.mmenc 1-3
|
||||
Create 3 Monero wallets from the key-address file:
|
||||
$ mmgen-xmrwallet create *.akeys.mmenc 1-3
|
||||
|
||||
After updating the blockchain, sync wallets 1 and 2:
|
||||
$ mmgen-xmrwallet sync *.akeys.mmenc 1,2
|
||||
After updating the blockchain, sync wallets 1 and 2:
|
||||
$ mmgen-xmrwallet sync *.akeys.mmenc 1,2
|
||||
|
||||
Sweep all funds from account #0 of wallet 1 to a new address:
|
||||
$ mmgen-xmrwallet sweep *.akeys.mmenc 1:0
|
||||
Sweep all funds from account #0 of wallet 1 to a new address:
|
||||
$ mmgen-xmrwallet sweep *.akeys.mmenc 1:0
|
||||
|
||||
Same as above, but use a TX relay on the Tor network:
|
||||
$ mmgen-xmrwallet --tx-relay-daemon=abcdefghijklmnop.onion:127.0.0.1:9050 sweep *.akeys.mmenc 1:0
|
||||
Same as above, but use a TX relay on the Tor network:
|
||||
$ mmgen-xmrwallet --tx-relay-daemon=abcdefghijklmnop.onion:127.0.0.1:9050 sweep *.akeys.mmenc 1:0
|
||||
|
||||
Sweep all funds from account #0 of wallet 1 to wallet 2:
|
||||
$ mmgen-xmrwallet sweep *.akeys.mmenc 1:0,2
|
||||
Sweep all funds from account #0 of wallet 1 to wallet 2:
|
||||
$ mmgen-xmrwallet sweep *.akeys.mmenc 1:0,2
|
||||
|
||||
Send 0.1 XMR from account #0 of wallet 2 to an external address:
|
||||
$ mmgen-xmrwallet transfer *.akeys.mmenc 2:0:<monero address>,0.1
|
||||
Send 0.1 XMR from account #0 of wallet 2 to an external address:
|
||||
$ mmgen-xmrwallet transfer *.akeys.mmenc 2:0:<monero address>,0.1
|
||||
|
||||
Sweep all funds from account #0 of wallet 2 to a new address, saving the
|
||||
transaction to a file:
|
||||
$ mmgen-xmrwallet --no-relay sweep *.akeys.mmenc 2:0
|
||||
Sweep all funds from account #0 of wallet 2 to a new address, saving the
|
||||
transaction to a file:
|
||||
$ mmgen-xmrwallet --no-relay sweep *.akeys.mmenc 2:0
|
||||
|
||||
Relay the created sweep transaction via a host on the Tor network:
|
||||
$ mmgen-xmrwallet --tx-relay-daemon=abcdefghijklmnop.onion:127.0.0.1:9050 relay *XMR*.sigtx
|
||||
Relay the created sweep transaction via a host on the Tor network:
|
||||
$ mmgen-xmrwallet --tx-relay-daemon=abcdefghijklmnop.onion:127.0.0.1:9050 relay *XMR*.sigtx
|
||||
|
||||
Create a new account in wallet 2:
|
||||
$ mmgen-xmrwallet new *.akeys.mmenc 2
|
||||
Create a new account in wallet 2:
|
||||
$ mmgen-xmrwallet new *.akeys.mmenc 2
|
||||
|
||||
Create a new address in account 1 of wallet 2, with label:
|
||||
$ mmgen-xmrwallet new *.akeys.mmenc 2:1,"from ABC exchange"
|
||||
Create a new address in account 1 of wallet 2, with label:
|
||||
$ mmgen-xmrwallet new *.akeys.mmenc 2:1,"from ABC exchange"
|
||||
|
||||
View all the XMR transaction files in the current directory, sending output
|
||||
to pager:
|
||||
$ mmgen-xmrwallet --pager txview *XMR*.sigtx
|
||||
View all the XMR transaction files in the current directory, sending output
|
||||
to pager:
|
||||
$ mmgen-xmrwallet --pager txview *XMR*.sigtx
|
||||
|
||||
MMGEN v13.3.dev16 November 2022 MMGEN-XMRWALLET(1)
|
||||
MMGEN v13.3.dev16 November 2022 MMGEN-XMRWALLET(1)
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue