modified: MMGen-command-help.md

modified:   autosign-[MMGen-command-help].md
modified:   regtest-[MMGen-command-help].md
modified:   split-[MMGen-command-help].md
modified:   tool(usage)-[MMGen-command-help].md
modified:   tool-[MMGen-command-help].md
modified:   txcreate-[MMGen-command-help].md
modified:   txdo-[MMGen-command-help].md
new file:   xmrwallet-[MMGen-command-help].md
The MMGen Project 2021-10-07 12:52:38 +00:00
commit cf106b541c
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
9 changed files with 171 additions and 46 deletions

@ -19,5 +19,6 @@
* [mmgen-walletchk](walletchk-[MMGen-command-help])
* [mmgen-walletconv](walletconv-[MMGen-command-help])
* [mmgen-walletgen](walletgen-[MMGen-command-help])
* [mmgen-xmrwallet](xmrwallet-[MMGen-command-help])
[u]: tool(usage)-[MMGen-command-help]

@ -1,20 +1,22 @@
MMGEN-AUTOSIGN: Auto-sign MMGen transactions
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 (default: '/mnt/tx')
-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
-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
@ -66,4 +68,4 @@
This command is currently available only on Linux-based platforms.
MMGEN v0.12.1 June 2020 MMGEN-AUTOSIGN(1)
MMGEN v0.12.199 October 2021 MMGEN-AUTOSIGN(1)

@ -12,17 +12,16 @@
AVAILABLE COMMANDS
setup - set up Bob and Alice regtest mode
start - start the regtest coin daemon
stop - stop the regtest coin daemon
bob - switch to Bob's wallet, starting daemon if necessary
alice - switch to Alice's wallet, starting daemon if necessary
miner - switch to Miner's wallet, starting daemon if necessary
user - show current user
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 v0.12.1 June 2020 MMGEN-REGTEST(1)
MMGEN v0.12.199 October 2021 MMGEN-REGTEST(1)

@ -1,4 +1,4 @@
MMGEN-SPLIT: Split funds in a MMGen wallet after a chain fork using a
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:
@ -45,4 +45,4 @@
behind the timelock, protection is contingent on getting the non-timelocked
transaction reconfirmed before the timelock expires. Use at your own risk.
MMGEN v0.12.1 June 2020 MMGEN-SPLIT(1)
MMGEN v0.12.199 October 2021 MMGEN-SPLIT(1)

@ -32,6 +32,7 @@
randb58 "nbytes" [int=32] "pad" [int=0]
randhex "nbytes" [str='32']
str2id6 string [str or STDIN]
to_bytespec n [int] dd_style_byte_specifier [str] "fmt" [str='0.2'] "print_sym" [bool=True]
unhexdump infile [str]
unhexlify hexstr [str or STDIN]
@ -94,6 +95,7 @@
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] "minconf" [int=1] "pager" [bool=False] "showempty" [bool=True] "showbtcaddr" [bool=True] "age_fmt" [str='confs' (valid options: 'confs','block','days','date','date_time')]
listaddresses "mmgen_addrs" [str='' (range or list)] "minconf" [int=1] "showempty" [bool=False] "pager" [bool=False] "showbtcaddrs" [bool=True] "all_labels" [bool=False] "sort" [str='' (valid options: 'reverse','age')] "age_fmt" [str='confs' (valid options: 'confs','block','days','date','date_time')]
@ -101,11 +103,6 @@
remove_label mmgen_or_coin_addr [str]
twview "pager" [bool=False] "reverse" [bool=False] "wide" [bool=False] "minconf" [int=1] "sort" [str='age'] "age_fmt" [str='confs' (valid options: 'confs','block','days','date','date_time')] "show_mmid" [bool=True] "wide_show_confs" [bool=True]
Monero wallet utilities
keyaddrlist2monerowallets xmr_keyaddrfile [str] "blockheight" [int=0 (default: current height)] "addrs" [str='' (integer range or list)]
syncmonerowallets xmr_keyaddrfile [str] "addrs" [str='' (integer range or list)]
To force a command to read from STDIN instead of file (for commands taking
a filename as their first argument), substitute "-" for the filename.
@ -135,4 +132,4 @@
Same as above, but use a pipe:
$ echo "deadbeefcafe" | mmgen-tool hexreverse -
MMGEN v0.12.1 June 2020 MMGEN-TOOL(USAGE)(1)
MMGEN v0.12.199 October 2021 MMGEN-TOOL(USAGE)(1)

@ -15,6 +15,7 @@
'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
@ -50,6 +51,7 @@
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
to_bytespec - convert an integer to a byte specifier such as '1GB'
unhexdump - decode hexdump from file (use '-' for stdin) (warning:
outputs binary data)
unhexlify - convert hexadecimal value to bytes (warning: outputs binary
@ -155,6 +157,7 @@
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 and its balance
@ -163,15 +166,6 @@
remove_label - remove descriptive label for address in tracking wallet
twview - view tracking wallet
Monero wallet utilities:
Note that the use of these commands requires private data to be exposed on
A network-connected machine in order to unlock the Monero wallets. This is
A violation of good security practice.
keyaddrlist2monerowallets - create Monero wallets from a key-address list
syncmonerowallets - sync Monero wallets from a key-address list
Type 'mmgen-tool help <command>' for help on a particular command
MMGEN v0.12.1 June 2020 MMGEN-TOOL(1)
MMGEN v0.12.199 October 2021 MMGEN-TOOL(1)

@ -42,9 +42,6 @@
Network-estimated fees will be multiplied by the value of '--tx-fee-adj',
if specified.
Ages of transactions are approximate based on an average block discovery
interval of one per 582 seconds.
All addresses on the command line can be either Bitcoin addresses or MMGen
addresses of the form <seed ID>:<index>.
@ -56,4 +53,4 @@
a plain decimal number, or as satoshis per byte, using an integer followed by
's', for satoshi.
MMGEN v0.12.1 June 2020 MMGEN-TXCREATE(1)
MMGEN v0.12.199 October 2021 MMGEN-TXCREATE(1)

@ -67,9 +67,6 @@
Network-estimated fees will be multiplied by the value of '--tx-fee-adj',
if specified.
Ages of transactions are approximate based on an average block discovery
interval of one per 582 seconds.
All addresses on the command line can be either Bitcoin addresses or MMGen
addresses of the form <seed ID>:<index>.
@ -118,4 +115,4 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v0.12.1 June 2020 MMGEN-TXDO(1)
MMGEN v0.12.199 October 2021 MMGEN-TXDO(1)

@ -0,0 +1,138 @@
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] transfer <xmr_keyaddrfile> <transfer_spec>
mmgen-xmrwallet [opts] sweep <xmr_keyaddrfile> <sweep_spec>
mmgen-xmrwallet [opts] relay <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, --do-not-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
All operations 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.
All communications use the RPC protocol via SSL (HTTPS) or Tor. RPC over
plain HTTP is not supported.
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
transfer - transfer specified XMR amount to specified address from specified
wallet:account
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 --do-not-relay option
CREATE AND SYNC 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 or synced. If omitted, all wallets are operated upon.
TRANSFER OPERATION NOTES
The transfer operation takes a `transfer specifier` arg with the following
format:
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.
SWEEP OPERATION NOTES
The sweep operation takes a `sweep specifier` arg with the following format:
SOURCE:ACCOUNT[,DEST]
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 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.
Note that multiple sweep operations may be required to sweep all the funds
in an account.
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.
WARNING
To avoid exposing your private keys on a network-connected machine, you’re
strongly advised to create all transactions offline using the --do-not-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
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
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
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
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 --do-not-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
MMGEN v0.12.199 October 2021 MMGEN-XMRWALLET(1)