- This functionality is work-in-progress: sweep transactions, spending to
MMGen IDs and certain options are not supported yet.
- The `--autosign` option is required. It may be set in the config file.
- On the offline signing machine, `--xmrwallet-compat` is required, or it
may be set in the config file. On the online machine, the option is
required to permit interoperability with `mmgen-xmrwallet`.
- Note that transactions created with `mmgen-txcreate` must be sent with
`mmgen-txsend`, not `mmgen-xmrwallet submit`, which looks for signed
transactions in a different directory on the removable device.
- Signed or unsigned transactions may be aborted with `mmgen-txsend --abort`.
- Compat mode uses `mmgen-xmrwallet` as its backend, and that command is still
required for all operations beyond simple create-sign-send to address. For
details, invoke `mmgen-xmrwallet --help`.
Sample workflow:
$ mmgen-txcreate --coin=xmr XMR_ADDRESS,AMOUNT
(remove - insert - wait for signing - remove - insert)
$ mmgen-txsend
Testing/demo:
$ test/cmdtest.py --coin=xmr -e xmr_compat
- the HTML transaction broadcast form is used, so no API key is required
- the request can be proxied through Tor
- availability of the service can be checked with the --test option
Example:
# check availability:
$ mmgen-txsend --autosign --coin=eth --tx-proxy=etherscan --proxy=localhost:9050 --test
# send:
$ mmgen-txsend --autosign --coin=eth --tx-proxy=etherscan --proxy=localhost:9050
Testing:
$ test/cmdtest.py --coin=eth -e -X txsend_etherscan ethdev
Cross-chain native asset swaps directly from MMGen Wallet!
Currently supported coins: BTC, LTC, BCH. Work on ETH support is underway.
All supported asset pairs have undergone thorough testing on mainnet.
Sample workflow for a BTC->LTC swap (assumes offline autosigning is set up and
the removable device inserted on the online machine):
$ mmgen-swaptxcreate --autosign BTC LTC
remove device - insert - wait for signing - remove - insert
$ mmgen-txsend --autosign
Note that other command-line options and arguments will likely be required. For
further information, see:
$ mmgen-swaptxcreate --help
Be aware that transactions stuck for a long time in the mempool can potentially
lead to loss of funds, so users should first learn how to create replacement
transactions with ‘mmgen-txbump’ before attempting a swap. In all cases, it’s
advisable to begin with small amounts. Double-checking the vault address on a
block explorer such as thorchain.net or runescan.io before sending the
transaction is also recommended.
Testing:
$ test/modtest.py tx.memo
$ test/cmdtest.py regtest_legacy.main autosign_automount swap
- command-line options are now parsed natively, without use of the getopt module
- global options and --longhelp helpscreen are now contextual, depending on coin
and executed command
- commands invoked with out-of-context global options (e.g. `mmgen-walletgen
--coin=btc`) now fail with an ‘unrecognized option’ error
Testing:
$ test/test-release.sh help
$ test/cmdtest.py opts
- this is a work in progress, only a few coins are currently supported
Testing:
$ test/unit_tests.py -v bip_hd
Examples:
$ PYTHONPATH=. examples/bip_hd.py
- all code has been relocated from `wallet.py` to individual modules under
`wallet`, with each wallet type having its own module
- the fully rewritten initialization code can be found in `__init__.py` and
`base.py`