modified: Install-MMGen-on-Microsoft-Windows.md

modified:   MMGen-command-help.md
modified:   Test-Suite.md
modified:   Tool-API.md
modified:   all manpages
The MMGen Project 2022-01-24 19:52:45 +00:00
commit fcf425c613
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
26 changed files with 83 additions and 122 deletions

@ -309,13 +309,14 @@ Exit the repo directory and install:
$ python3 -m pip install --upgrade mmgen/dist/*.whl
**Note:** if you want to use features that have appeared since the latest
`stable_msys2` release, then you can omit the `git checkout` step and remain on
the `master` branch. Please bear in mind, however, that security
vulnerabilities are more likely to be present in new code than in a stable
release. In addition, while the tip of `master` is always tested on Linux
before being pushed to the public repository, it’s not guaranteed to install or
run on MSYS2. Installation or runtime issues may also arise due to missing
dependencies or installation steps not yet covered in the documentation.
`stable_msys2` release, then you can omit the `git checkout stable_msys2`
step and remain on the `master` branch. Please bear in mind, however, that
security vulnerabilities are more likely to be present in new code than in a
stable release. In addition, while the tip of `master` is always tested on
Linux before being pushed to the public repository, it’s not guaranteed to
install or run on MSYS2. Installation or runtime issues may also arise due
to missing dependencies or installation steps not yet covered in the
documentation.
### <a name='a_pe'>10. Install Python Ethereum dependencies (Ethereum users only)</a>

@ -7,7 +7,6 @@
* [mmgen-regtest](regtest-[MMGen-command-help])
* [mmgen-seedjoin](seedjoin-[MMGen-command-help])
* [mmgen-seedsplit](seedsplit-[MMGen-command-help])
* [mmgen-split](split-[MMGen-command-help])
* [mmgen-subwalletgen](subwalletgen-[MMGen-command-help])
* [mmgen-tool](tool-[MMGen-command-help])
* [mmgen-tool (usage)][u]

@ -49,6 +49,10 @@ CD to the MMGen repository root and build without installing:
$ cd path/to/mmgen/repo
$ python3 setup.py build_ext --inplace
Run the following if upgrading from a previous version of MMGen:
$ test/test.py clean
Run the test suite in fast mode, skipping altcoin tests:
$ test/test-release.sh -F noalt

@ -6,7 +6,7 @@ and call signatures.
### Initialize:
from mmgen.tool import tool_api
from mmgen.tool.api import tool_api
tool = tool_api()
### Key/address generation:

@ -7,18 +7,16 @@
-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
-E, --use-old-ed25519 Use original (and slow) ed25519 module for Monero
address generation instead of ed25519ll_djbec
-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, --key-generator m Use method 'm' for public key generation
Options: 1:python-ecdsa 2:libsecp256k1 (default: 2)
-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
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
@ -116,4 +114,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-ADDRGEN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-ADDRGEN(1)

@ -18,4 +18,4 @@
The --batch and --rescan options cannot be used together.
MMGEN v13.0.1 January 2022 MMGEN-ADDRIMPORT(1)
MMGEN v13.1.dev009 January 2022 MMGEN-ADDRIMPORT(1)

@ -68,4 +68,4 @@
This command is currently available only on Linux-based platforms.
MMGEN v13.0.1 January 2022 MMGEN-AUTOSIGN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-AUTOSIGN(1)

@ -8,18 +8,16 @@
-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
-E, --use-old-ed25519 Use original (and slow) ed25519 module for Monero
address generation instead of ed25519ll_djbec
-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, --key-generator m Use method 'm' for public key generation
Options: 1:python-ecdsa 2:libsecp256k1 (default: 2)
-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
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
@ -120,4 +118,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-KEYGEN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-KEYGEN(1)

@ -50,4 +50,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-PASSCHG(1)
MMGEN v13.1.dev009 January 2022 MMGEN-PASSCHG(1)

@ -17,7 +17,7 @@
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
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
@ -99,4 +99,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-PASSGEN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-PASSGEN(1)

@ -24,4 +24,4 @@
is first argument)
MMGEN v13.0.1 January 2022 MMGEN-REGTEST(1)
MMGEN v13.1.dev009 January 2022 MMGEN-REGTEST(1)

@ -60,4 +60,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-SEEDJOIN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-SEEDJOIN(1)

@ -141,4 +141,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-SEEDSPLIT(1)
MMGEN v13.1.dev009 January 2022 MMGEN-SEEDSPLIT(1)

@ -1,48 +0,0 @@
MMGEN-SPLIT: Split funds in an MMGen wallet after a chain fork using a
timelocked transaction
USAGE: mmgen-split [opts] [output addr1] [output addr2]
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long options (common options)
-f, --tx-fees f The transaction fees for each chain (comma-separated)
-c, --other-coin c The coin symbol of the other chain (default: B2X)
-B, --no-blank Don't blank screen before displaying unspent outputs
-d, --outdir d Specify an alternate directory 'd' for output
-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
-y, --yes Answer 'yes' to prompts, suppress non-essential output
-R, --rpc-host2 h Host the other coin daemon is running on (default: none)
-L, --locktime t Lock time (block height or unix seconds)
(default: current block height)
This command creates two transactions: one (with the timelock) to be broadcast
on the long chain and one on the short chain after a replayable chain fork.
Only MMGen addresses may be spent to.
The command must be run on the longest chain. The user is reponsible for
ensuring that the current chain is the longest. The other chain is specified
on the command line, or it defaults to the most recent replayable fork of the
current chain.
For the split to have a reasonable chance of succeeding, the long chain should
be well ahead of the short one (by more than 20 blocks or so) and transactions
should have a good chance of confirming quickly on both chains. For this
larger than normal fees may be required. Fees may be specified on the command
line, or network fee estimation may be used.
If the split fails (i.e. the long-chain TX is broadcast and confirmed on the
short chain), no funds are lost. A new split attempt can be made with the
long-chain transaction's output as an input for the new split transaction.
This process can be repeated as necessary until the split succeeds.
IMPORTANT: Timelock replay protection offers NO PROTECTION against reorg
attacks on the majority chain or reorg attacks on the minority chain if the
minority chain is ahead of the timelock. If the reorg'd minority chain is
behind the timelock, protection is contingent on getting the non-timelocked
transaction reconfirmed before the timelock expires. Use at your own risk.
MMGEN v13.0.1 January 2022 MMGEN-SPLIT(1)

@ -94,4 +94,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-SUBWALLETGEN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-SUBWALLETGEN(1)

@ -4,12 +4,12 @@
Quoted arguments are optional, default values will be used
Argument types and default values are shown in square brackets
Miscellaneous commands
Help/usage commands:
help "command_name" [str='']
usage "command_name" [str='']
General string conversion and hashing utilities
General string conversion and hashing utilities:
b32tohex b32num [str or STDIN] "pad" [int=0]
b58chktohex b58chk_num [str or STDIN]
@ -36,7 +36,7 @@
unhexdump infile [str]
unhexlify hexstr [str or STDIN]
Cryptocoin key/address utilities
Cryptocoin key/address utilities:
addr2pubhash addr [str or STDIN]
addr2scriptpubkey addr [str or STDIN]
@ -55,7 +55,7 @@
wif2redeem_script wifkey [str or STDIN]
wif2segwit_pair wifkey [str or STDIN]
Seed phrase utilities (valid formats: 'mmgen' (default), 'bip39', 'xmrseed')
Seed phrase utilities (valid formats: 'mmgen' (default), 'bip39', 'xmrseed'):
hex2mn hexstr [str or STDIN] "fmt" [str='mmgen' (valid options: 'mmgen','bip39','xmrseed')]
mn2hex seed_mnemonic [str or STDIN] "fmt" [str='mmgen' (valid options: 'mmgen','bip39','xmrseed')]
@ -66,24 +66,24 @@
mn_rand256 "fmt" [str='mmgen' (valid options: 'mmgen','bip39','xmrseed')]
mn_stats "fmt" [str='mmgen' (valid options: 'mmgen','bip39','xmrseed')]
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' (valid options: 'addr','raw')] "filesort" [str='mtime' (valid options: 'mtime','ctime','atime')]
File encryption and decryption
File encryption and decryption:
decrypt infile [str] "outfile" [str=''] "hash_preset" [str='']
encrypt infile [str] "outfile" [str=''] "hash_preset" [str='']
File utilities
File utilities:
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=''] "target" [str='addr']
gen_key mmgen_addr [str] "wallet" [str='']
@ -92,7 +92,7 @@
list_shares share_count [int] "id_str" [str='default'] "master_share" [int=0 (min:1, max:1024, 0=no master share)] "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
@ -132,4 +132,4 @@
Same as above, but use a pipe:
$ echo "deadbeefcafe" | mmgen-tool hexreverse -
MMGEN v13.0.1 January 2022 MMGEN-TOOL(USAGE)(1)
MMGEN v13.1.dev009 January 2022 MMGEN-TOOL(USAGE)(1)

@ -1,29 +1,31 @@
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)
-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)
-k, --use-internal-keccak-module Force use of the internal keccak module
-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 options: '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
-K, --keygen-backend n Use backend 'n' for public key generation. Options
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
-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 options: '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
Miscellaneous 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
usage - display usage information for a single command
General string conversion and hashing utilities:
@ -168,4 +170,4 @@
Type 'mmgen-tool help <command>' for help on a particular command
MMGEN v13.0.1 January 2022 MMGEN-TOOL(1)
MMGEN v13.1.dev009 January 2022 MMGEN-TOOL(1)

@ -20,9 +20,8 @@
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, --key-generator m Use method 'm' for public key generation
Options: 1:python-ecdsa 2:libsecp256k1
(default: 2)
-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
@ -70,6 +69,8 @@
Seed source files must have the canonical extensions listed in the 'FileExt'
column below:
FMT CODES:
Format FileExt Valid codes
------ ------- -----------
BIP39Mnemonic .bip39 bip39
@ -84,4 +85,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-TXBUMP(1)
MMGEN v13.1.dev009 January 2022 MMGEN-TXBUMP(1)

@ -53,4 +53,4 @@
a plain decimal number, or as satoshis per byte, using an integer followed by
's', for satoshi.
MMGEN v13.0.1 January 2022 MMGEN-TXCREATE(1)
MMGEN v13.1.dev009 January 2022 MMGEN-TXCREATE(1)

@ -29,9 +29,8 @@
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, --key-generator m Use method 'm' for public key generation
Options: 1:python-ecdsa 2:libsecp256k1
(default: 2)
-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)
@ -101,6 +100,8 @@
Seed source files must have the canonical extensions listed in the 'FileExt'
column below:
FMT CODES:
Format FileExt Valid codes
------ ------- -----------
BIP39Mnemonic .bip39 bip39
@ -115,4 +116,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-TXDO(1)
MMGEN v13.1.dev009 January 2022 MMGEN-TXDO(1)

@ -8,4 +8,4 @@
-s, --status Get status of a sent transaction
-y, --yes Answer 'yes' to prompts, suppress non-essential output
MMGEN v13.0.1 January 2022 MMGEN-TXSEND(1)
MMGEN v13.1.dev009 January 2022 MMGEN-TXSEND(1)

@ -20,8 +20,8 @@
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, --key-generator m Use method 'm' for public key generation
Options: 1:python-ecdsa 2:libsecp256k1 (default: 2)
-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
@ -62,6 +62,8 @@
Seed source files must have the canonical extensions listed in the 'FileExt'
column below:
FMT CODES:
Format FileExt Valid codes
------ ------- -----------
BIP39Mnemonic .bip39 bip39
@ -76,4 +78,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-TXSIGN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-TXSIGN(1)

@ -49,4 +49,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-WALLETCHK(1)
MMGEN v13.1.dev009 January 2022 MMGEN-WALLETCHK(1)

@ -59,4 +59,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-WALLETCONV(1)
MMGEN v13.1.dev009 January 2022 MMGEN-WALLETCONV(1)

@ -52,4 +52,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v13.0.1 January 2022 MMGEN-WALLETGEN(1)
MMGEN v13.1.dev009 January 2022 MMGEN-WALLETGEN(1)

@ -24,6 +24,9 @@
-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 require a running Monero daemon. Unless --daemon is specified,
@ -135,4 +138,4 @@
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
MMGEN v13.0.1 January 2022 MMGEN-XMRWALLET(1)
MMGEN v13.1.dev009 January 2022 MMGEN-XMRWALLET(1)