update for v16.0.0
parent
fa2d6b158c
commit
babfc01446
36 changed files with 1091 additions and 291 deletions
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
#### [Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens](#a_eth)
|
||||
* [Install the Ethereum dependencies](#a_ed)
|
||||
* [Install and run Geth or Parity](#a_geth)
|
||||
* [Install and run Reth, Geth or Parity](#a_geth)
|
||||
* [Transacting and other basic operations](#a_tx)
|
||||
* [Creating and deploying ERC20 tokens](#a_dt)
|
||||
|
||||
|
|
@ -12,6 +12,10 @@
|
|||
|
||||
#### [Monero (XMR)](#a_xmr)
|
||||
|
||||
#### [THORChain (RUNE)](#a_rune)
|
||||
|
||||
#### [Asset swaps via THORChain](#a_tcswap)
|
||||
|
||||
#### [Key/address generation for Zcash (ZEC)](#a_zec)
|
||||
|
||||
#### [Key/address generation for 144 Bitcoin-derived altcoins](#a_kg)
|
||||
|
|
@ -35,20 +39,31 @@ From the MMGen Wallet repository root, type:
|
|||
|
||||
```text
|
||||
$ python3 -m pip install -r alt-requirements.txt # skip this for MSYS2
|
||||
$ python3 -m pip install --no-deps -r eth-requirements.txt
|
||||
```
|
||||
|
||||
#### <a id="a_geth">Install and run Geth or Parity</a>
|
||||
#### <a id="a_geth">Install and run Reth, Geth or Parity</a>
|
||||
|
||||
MMGen Wallet uses Go-Ethereum (Geth) to communicate with the Ethereum network.
|
||||
For information on installing Geth on your system, visit the the Geth [Github
|
||||
repo][ge]. On Arch Linux systems, Go-Ethereum is a package and may be installed
|
||||
with `pacman`.
|
||||
MMGen Wallet uses Rust Ethereum (Reth) or Go-Ethereum (Geth) to communicate with
|
||||
the Ethereum network, with Reth now being preferred by the MMGen Project.
|
||||
|
||||
Installation and usage instructions for Reth can be found [here][RE] and
|
||||
prebuilt binaries [here][rb].
|
||||
|
||||
Information for Geth can be found at its [homepage][gh] or [Github repo][ge].
|
||||
On Arch Linux systems, Geth is a package and may be installed with `pacman`. On
|
||||
RISC-V platforms, for which no prebuilt binaries are available, Geth must be
|
||||
built from source, preferably using the most recent version of [Go][gd].
|
||||
|
||||
Note that the Ethereum daemon is not used for transaction signing, so you
|
||||
needn’t install it on your offline machine.
|
||||
|
||||
For Geth, the following command-line options are required:
|
||||
For Reth, the following command-line options are required, among others:
|
||||
|
||||
```text
|
||||
--http --http.api=eth,rpc,web3,txpool
|
||||
```
|
||||
|
||||
For Geth, the following command-line options are required, among others:
|
||||
|
||||
```text
|
||||
--http --http.api=eth,web3,txpool --http.port=8745
|
||||
|
|
@ -71,8 +86,8 @@ Parity’s light client mode, which queries other nodes on the network for
|
|||
blockchain data, is supported. Add the `--light` option to the Parity command
|
||||
line and read the applicable note in the [Transacting](#a_tx) section below.
|
||||
|
||||
You may require other options as well. Invoke your daemon with the `--help`
|
||||
option for more complete information.
|
||||
Other command-line options will certainly be required. Invoke your daemon with
|
||||
the `--help` option for more complete information.
|
||||
|
||||
#### <a id="a_tx">Transacting and other basic operations</a>
|
||||
|
||||
|
|
@ -80,7 +95,7 @@ Basic operations with ETH, ETC and ERC20 tokens work as described in the
|
|||
[**Getting Started**][bo] guide, with some differences. Please note the
|
||||
following:
|
||||
|
||||
* Don’t forget to invoke all commands with `--coin=eth` or `--coin=etc`.
|
||||
* Don’t forget to invoke relevant commands with `--coin=eth` or `--coin=etc`.
|
||||
* Use the `--token` option with the token symbol as parameter for all token
|
||||
operations. When importing addresses for a new token into your tracking
|
||||
wallet, use the `--token-addr` option with the token address instead.
|
||||
|
|
@ -93,6 +108,14 @@ following:
|
|||
your account balances have changed, they may be refreshed interactively within
|
||||
the TRACKED ACCOUNTS menu. Cached balances are stored persistently in your
|
||||
tracking wallet.
|
||||
* Note that sending transactions with your Ethereum node can easily deanonymize
|
||||
you by linking the transaction with your IP address (running a Reth node
|
||||
over Tor or Tor+VPN is theoretically possible, but problematic in practice).
|
||||
As a solution to this problem, MMGen Wallet supports broadcasting transactions
|
||||
via the etherscan.io website with the `--tx-proxy` option. Sending is done
|
||||
using the site’s public web form, so no registration or API key is required.
|
||||
For anonymity, the connection can be routed via Tor or I2P using the `--proxy`
|
||||
option. See `mmgen-txsend --help` for details.
|
||||
|
||||
##### Transacting example:
|
||||
|
||||
|
|
@ -205,11 +228,14 @@ To transact BCH or Litecoin, first make sure the Bitcoin Cash Node or Litecoin
|
|||
daemons are properly installed ([source][si])([binaries][bi]), [running][p8] and
|
||||
synced.
|
||||
|
||||
On RISC-V platforms, Bitcoin Cash Node must be compiled from source, as no
|
||||
precompiled binaries are available.
|
||||
|
||||
MMGen Wallet requires that the bitcoin-bchn daemon be listening on non-standard
|
||||
[RPC port 8432][p8]. If your daemon version is >= 0.16.2, you must use the
|
||||
`--usecashaddr=0` option.
|
||||
|
||||
Then just add the `--coin=bch` or `--coin=ltc` option to all your MMGen Wallet
|
||||
Then just add the `--coin=bch` or `--coin=ltc` option to applicable MMGen Wallet
|
||||
commands. It’s that simple!
|
||||
|
||||
### <a id="a_xmr">Monero (XMR)</a>
|
||||
|
|
@ -274,6 +300,30 @@ have multiple wallets requiring long sync times.
|
|||
To learn how to transact using your wallets, continue on to the
|
||||
[`mmgen-xmrwallet`][mx] help screen.
|
||||
|
||||
### <a id="a_rune">THORChain (RUNE)</a>
|
||||
|
||||
Transacting RUNE with MMGen Wallet is similar to transacting BTC as described in
|
||||
the [**Getting Started**][gs] guide. Just add the `--coin=rune` option to all
|
||||
relevant commands. With `mmgen-autosign`, add `rune` to the list of coins in
|
||||
the `--coins` parameter.
|
||||
|
||||
Note that MMGen Wallet’s RUNE support requires no locally running node; instead,
|
||||
balances are fetched and transactions sent via a public node at ninerealms.com.
|
||||
As this can compromise your privacy, it’s recommended to proxy all
|
||||
communications via Tor or I2P: refer to the helpscreens of `mmgen-txcreate`,
|
||||
`mmgen-swaptxcreate` and `mmgen-txsend` for more information.
|
||||
|
||||
### <a id="a_tcswap">Asset swaps via THORChain</a>
|
||||
|
||||
21 assets (as of this writing) may be swapped directly within MMGen Wallet via
|
||||
THORChain. Swapping assets is just like normal transacting, except transactions
|
||||
are created using `mmgen-swaptxcreate` instead of `mmgen-txcreate`. Note that
|
||||
coin daemons for both the send and receive assets must be running and synced
|
||||
before carrying out a swap. Depending on your setup, communication with two
|
||||
daemons simultaneously may require the use of *coin-specific options* (see
|
||||
`mmgen-swaptxcreate --longhelp`). For usage information, examples, and a list
|
||||
of supported assets, invoke `mmgen-swaptxcreate --help`.
|
||||
|
||||
### <a id="a_zec">Key/address generation for Zcash (ZEC)</a>
|
||||
|
||||
MMGen Wallet supports generation of Zcash **z-addresses.**
|
||||
|
|
@ -353,7 +403,11 @@ the MMGen Project.
|
|||
[si]: Install-Bitcoind-from-Source-on-Linux
|
||||
[bi]: Install-Bitcoind#a_d
|
||||
[p8]: Install-Bitcoind#a_r
|
||||
[gh]: https://geth.ethereum.org
|
||||
[ge]: https://github.com/ethereum/go-ethereum
|
||||
[mx]: command-help-xmrwallet
|
||||
[sb]: https://github.com/ethereum/solidity/releases
|
||||
[sd]: https://docs.soliditylang.org
|
||||
[RE]: https://reth.rs/overview
|
||||
[rb]: https://github.com/paradigmxyz/reth/releases
|
||||
[gd]: https://go.dev
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ commands and filenames) will speed up your work at the command line greatly.
|
|||
|
||||
The examples in this tutorial are geared towards Bitcoin, but with some
|
||||
modification they may be used with altcoins and forkcoins for which MMGen
|
||||
Wallet supports transaction operations (BCH, LTC, ETH, ETC and XMR as of this
|
||||
writing). See [Altcoin-and-Forkcoin-Support][09] for more details.
|
||||
Wallet supports transaction operations (BCH, LTC, ETH, ETC, RUNE and XMR as of
|
||||
this writing). See [Altcoin-and-Forkcoin-Support][09] for more details.
|
||||
|
||||
#### <a id="a_iv">Invocation</a>
|
||||
|
||||
|
|
@ -170,8 +170,8 @@ overestimated.
|
|||
|
||||
### <a id="a_tr">Transacting</a>
|
||||
|
||||
*The following transacting information is applicable to BTC, BCH, LTC, ETH and
|
||||
ETC. For transacting with Monero, consult [Altcoin-and-Forkcoin-Support][ax]
|
||||
*The following transacting information is applicable to BTC, BCH, LTC, ETH, ETC
|
||||
and RUNE. For transacting with Monero, consult [Altcoin-and-Forkcoin-Support][x]
|
||||
and the [`mmgen-xmrwallet`][mx] help screen.*
|
||||
|
||||
#### <a id="a_ga">Generate addresses (offline computer)</a>
|
||||
|
|
@ -326,7 +326,7 @@ the Bitcoin network. If you send 0.1, 0.2, 0.3 and 0.4 BTC respectively, your
|
|||
address listing will look like this after the transactions have confirmed:
|
||||
|
||||
```text
|
||||
$ mmgen-tool listaddresses showempty=0
|
||||
$ mmgen-tool listaddresses
|
||||
MMGenID Address Comment Balance
|
||||
89ABCDEF:S:1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations 0.1
|
||||
89ABCDEF:S:2 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc Storage 1 0.2
|
||||
|
|
@ -453,7 +453,7 @@ Once the transaction is broadcast to the network and confirmed, your address
|
|||
listing should look something like this:
|
||||
|
||||
```text
|
||||
$ mmgen-tool listaddresses showempty=0
|
||||
$ mmgen-tool listaddresses
|
||||
MMGenID Address Comment Balance
|
||||
89ABCDEF:S:1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations 0.1
|
||||
89ABCDEF:S:3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2 0.3
|
||||
|
|
@ -1127,7 +1127,7 @@ $ python3 -m pip install user --upgrade dist/*.whl
|
|||
[07]: command-help-autosign
|
||||
[08]: Install-Bitcoind
|
||||
[09]: Altcoin-and-Forkcoin-Support
|
||||
[ax]: Altcoin-and-Forkcoin-Support#a_xmr
|
||||
[x]: Altcoin-and-Forkcoin-Support#a_xmr
|
||||
[cp]: ../commits/master
|
||||
[mx]: command-help-xmrwallet
|
||||
[li]: Install-MMGen-Wallet-on-Linux-or-macOS
|
||||
|
|
|
|||
2
Home.md
2
Home.md
|
|
@ -16,6 +16,8 @@ within the pager are performed via the `/` key.
|
|||
|
||||
> #### [Install on Linux or macOS](wiki/Install-MMGen-Wallet-on-Linux-or-macOS)
|
||||
|
||||
> #### [Install on Nix/NixOS](wiki/Install-MMGen-Wallet-on-Nix)
|
||||
|
||||
|
||||
### Using MMGen Wallet
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ $ sudo pacman -S curl git gcc libtool make autoconf automake autogen pcre python
|
|||
$ brew install python bash autoconf coreutils gcc libmpc libtool readline secp256k1
|
||||
```
|
||||
|
||||
On RISC-V machines, you may additionally need to install the `libffi-dev` package and [Rust][rs]
|
||||
|
||||
You may wish to use a [virtual environment][vv] to keep your MMGen Wallet
|
||||
installation isolated from the rest of your Python packages.
|
||||
|
||||
|
|
@ -110,3 +112,4 @@ Congratulations, your installation is now complete! You can now proceed to
|
|||
[af]: Altcoin-and-Forkcoin-Support
|
||||
[ec]: https://github.com/bitcoin-core/secp256k1.git
|
||||
[vv]: https://docs.python.org/3/library/venv.html
|
||||
[rs]: https://rustup.rs
|
||||
|
|
|
|||
|
|
@ -11,15 +11,13 @@
|
|||
* [Offline install](#a_md1)
|
||||
* [4. Set up your shell environment](#a_ev)
|
||||
* [5. Choose your Python environment](#a_pev)
|
||||
* [6. Install the Python ECDSA library (offline install only)](#a_ec)
|
||||
* [7. Install the standalone scrypt package (required for strong password hashing)](#a_sc)
|
||||
* [8. Clone and copy the secp256k1 library (offline install only)](#a_se)
|
||||
* [9. Install MMGen Wallet](#a_mm)
|
||||
* [6. Install required Python packages](#a_pp)
|
||||
* [7. Clone and copy the secp256k1 library (offline install only)](#a_se)
|
||||
* [8. Install MMGen Wallet](#a_mm)
|
||||
* [Stable version](#a_mms)
|
||||
* [Development version](#a_mmd)
|
||||
* [10. Install Python Ethereum dependencies (if applicable)](#a_pe)
|
||||
* [11. Install and launch your coin daemons](#a_cd)
|
||||
* [12. You’re done!](#a_do)
|
||||
* [9. Install and launch your coin daemons](#a_cd)
|
||||
* [10. You’re done!](#a_do)
|
||||
|
||||
#### [Keeping your installation up to date](#a_u)
|
||||
* [Upgrading MSYS2](#a_us)
|
||||
|
|
@ -106,14 +104,12 @@ $ ls 'C:\\msys64\etc' # the path as seen by Windows
|
|||
>
|
||||
>> <https://mirror.msys2.org/msys/x86_64/msys.db>
|
||||
>> <https://mirror.msys2.org/msys/x86_64/msys.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/x86_64/mingw64.db>
|
||||
>> <https://mirror.msys2.org/mingw/x86_64/mingw64.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/i686/mingw32.db>
|
||||
>> <https://mirror.msys2.org/mingw/i686/mingw32.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/mingw64/mingw64.db>
|
||||
>> <https://mirror.msys2.org/mingw/mingw64/mingw64.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/mingw32/mingw32.db>
|
||||
>> <https://mirror.msys2.org/mingw/mingw32/mingw32.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/clang64/clang64.db>
|
||||
>> <https://mirror.msys2.org/mingw/clang64/clang64.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/clang32/clang32.db>
|
||||
>> <https://mirror.msys2.org/mingw/clang32/clang32.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/clangarm64/clangarm64.db>
|
||||
>> <https://mirror.msys2.org/mingw/clangarm64/clangarm64.db.sig>
|
||||
>> <https://mirror.msys2.org/mingw/ucrt64/ucrt64.db>
|
||||
|
|
@ -195,7 +191,8 @@ pacman -S tar git vim autoconf automake-wrapper autogen libtool cygrunsrv \
|
|||
mingw-w64-ucrt-x86_64-python-pysocks \
|
||||
mingw-w64-ucrt-x86_64-python-requests \
|
||||
mingw-w64-ucrt-x86_64-python-aiohttp \
|
||||
mingw-w64-ucrt-x86_64-python-pyreadline3
|
||||
mingw-w64-ucrt-x86_64-python-pyreadline3 \
|
||||
mingw-w64-ucrt-x86_64-python-lxml
|
||||
```
|
||||
|
||||
### <a id="a_ev">4. Set up your shell environment</a>
|
||||
|
|
@ -236,46 +233,25 @@ If you choose not to use a virtual environment, then you should add `--user` to
|
|||
the command line every time you run `pip install` as directed below. This will
|
||||
prevent pip from installing packages in the system directory.
|
||||
|
||||
### <a id="a_ec">6. Install the Python ECDSA library (offline install only)</a>
|
||||
### <a id="a_pp">6. Install required Python packages</a>
|
||||
|
||||
On your online machine:
|
||||
|
||||
```text
|
||||
$ python3 -m pip download ecdsa
|
||||
$ python3 -m pip download --no-binary :all: scrypt==0.8.27 aiohttp==3.12.9
|
||||
|
||||
```
|
||||
|
||||
Copy the downloaded file to your offline machine and install:
|
||||
Copy the downloaded files to your offline machine (if applicable) and install:
|
||||
|
||||
```text
|
||||
$ python3 -m pip install ecdsa-*.whl
|
||||
$ python3 -m pip install --no-build-isolation scrypt*gz
|
||||
$ python3 -m pip install --no-build-isolation aiohtt* multidic* yarl* aiohap* aiosig* attrs* frozenlist* idna* propcache*
|
||||
```
|
||||
|
||||
### <a id="a_sc">7. Install the standalone scrypt package (required for strong password hashing)</a>
|
||||
|
||||
Due to a faulty implementation of the `scrypt` function included in Python’s
|
||||
`hashlib`, the standalone `scrypt` module is required for stronger-than-default
|
||||
password hashing (i.e. hash presets greater than `3`). Installing the package is
|
||||
therefore highly advisable.
|
||||
|
||||
On your online machine, clone the Py-Scrypt repository from Github:
|
||||
|
||||
```text
|
||||
$ git clone https://github.com/holgern/py-scrypt.git
|
||||
```
|
||||
|
||||
Offline install:
|
||||
|
||||
> Copy the cloned repo to your offline machine.
|
||||
|
||||
Build and install:
|
||||
|
||||
```text
|
||||
$ cd py-scrypt
|
||||
$ python3 -m build --no-isolation
|
||||
$ python3 -m pip install dist/*.whl
|
||||
```
|
||||
|
||||
### <a id="a_se">8. Clone and copy the secp256k1 library (offline install only)</a>
|
||||
### <a id="a_se">7. Clone and copy the secp256k1 library (offline install only)</a>
|
||||
|
||||
On your online machine, clone the secp256k1 repository from Github:
|
||||
|
||||
|
|
@ -292,7 +268,7 @@ $ cp -a /path/to/secp256k1/repo/secp256k1 ~/.cache/mmgen
|
|||
$ ls ~/.cache/mmgen/secp256k1/autogen.sh # check that files were correctly copied
|
||||
```
|
||||
|
||||
### <a id="a_mm">9. Install MMGen Wallet</a>
|
||||
### <a id="a_mm">8. Install MMGen Wallet</a>
|
||||
|
||||
Now you’re ready to install MMGen Wallet itself.
|
||||
|
||||
|
|
@ -350,31 +326,7 @@ occasion.
|
|||
Note that MMGen Wallet has a test suite. Refer to the [Test Suite][ts] wiki
|
||||
page for details.
|
||||
|
||||
### <a id="a_pe">10. Install Python Ethereum dependencies (if applicable)</a>
|
||||
|
||||
If you’ll be using MMGen Wallet with Ethereum, then you must install a few
|
||||
dependencies. From the MMGen repository root, type the following:
|
||||
|
||||
Online install:
|
||||
|
||||
> ```text
|
||||
> $ python3 -m pip install --no-deps -r eth-requirements.txt
|
||||
> ```
|
||||
|
||||
Offline install:
|
||||
|
||||
> ```text
|
||||
> $ python3 -m pip download --no-deps -r eth-requirements.txt
|
||||
> ```
|
||||
>
|
||||
> Transfer the downloaded files to your offline machine, `cd` to the directory
|
||||
> containing the files and install them:
|
||||
>
|
||||
> ```text
|
||||
> $ python3 -m pip install --no-deps *.whl
|
||||
> ```
|
||||
|
||||
### <a id="a_cd">11. Install and launch your coin daemons</a>
|
||||
### <a id="a_cd">9. Install and launch your coin daemons</a>
|
||||
|
||||
At this point your installation will be able to generate wallets, along with
|
||||
keys and addresses for all supported coins. However, if you intend to do any
|
||||
|
|
@ -399,7 +351,7 @@ Please note that Ethereum daemons perform rather poorly under Windows due to
|
|||
threading limitations. Unless you have very fast hardware, transacting and
|
||||
syncing the blockchain will be painfully slow.
|
||||
|
||||
### <a id="a_do">12. You’re done!</a>
|
||||
### <a id="a_do">10. You’re done!</a>
|
||||
|
||||
Congratulations, your installation is now complete, and you can proceed to
|
||||
[**Getting Started with MMGen Wallet**][gs]. Note that all features supported
|
||||
|
|
|
|||
24
Install-MMGen-Wallet-on-Nix.md
Normal file
24
Install-MMGen-Wallet-on-Nix.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
Perform the following steps:
|
||||
|
||||
```text
|
||||
$ git clone https://github.com/mmgen/mmgen-wallet.git
|
||||
$ cd mmgen-wallet
|
||||
$ mkdir -p ~/.mmgen
|
||||
$ cp nix/user-packages.nix ~/.mmgen
|
||||
```
|
||||
|
||||
For altcoin support, edit `~/.mmgen/user-packages.nix` to taste, uncommenting
|
||||
the relevant lines for whatever support you require. For a BTC-only setup,
|
||||
you can leave the file untouched.
|
||||
|
||||
Build required derivations and enter the custom Nix shell environment:
|
||||
|
||||
```text
|
||||
$ nix-shell nix # for full isolation, add the ‘--pure’ option
|
||||
```
|
||||
|
||||
Within nix-shell you may now test and use MMGen Wallet as with any normal
|
||||
installation.
|
||||
|
||||
Refer to `nix/README` in the MMGen Wallet repo for more information, including
|
||||
a speedup tip and instructions for installation on NixOS.
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
* [mmgen-addrgen](command-help-addrgen)
|
||||
* [mmgen-addrimport](command-help-addrimport)
|
||||
* [mmgen-autosign](command-help-autosign)
|
||||
* [mmgen-cli](command-help-cli)
|
||||
* [mmgen-keygen](command-help-keygen)
|
||||
* [mmgen-msg](command-help-msg)
|
||||
* [mmgen-passchg](command-help-passchg)
|
||||
|
|
@ -9,6 +10,8 @@
|
|||
* [mmgen-seedjoin](command-help-seedjoin)
|
||||
* [mmgen-seedsplit](command-help-seedsplit)
|
||||
* [mmgen-subwalletgen](command-help-subwalletgen)
|
||||
* [mmgen-swaptxcreate](command-help-swaptxcreate)
|
||||
* [mmgen-swaptxdo](command-help-swaptxdo)
|
||||
* [mmgen-tool](command-help-tool)
|
||||
* [mmgen-tool (usage)][u]
|
||||
* [mmgen-tool (detailed usage)][d]
|
||||
|
|
|
|||
|
|
@ -38,20 +38,8 @@ Every time the container is started, you may need to create the files afresh:
|
|||
|
||||
### BTC-only testing
|
||||
|
||||
Clone the Bitcoin Core repo somewhere on your system:
|
||||
|
||||
```text
|
||||
$ git clone https://github.com/bitcoin/bitcoin
|
||||
```
|
||||
|
||||
Install the Bitcoin Core daemon [(source)][sd] [(binaries)][bd].
|
||||
|
||||
Point the test suite to your copy of the Bitcoin Core repo:
|
||||
|
||||
```text
|
||||
$ export CORE_REPO_ROOT=/path/to/bitcoin/core/repo
|
||||
```
|
||||
|
||||
Install Pycoin:
|
||||
|
||||
```text
|
||||
|
|
@ -63,13 +51,8 @@ $ python3 -m pip download pycoin # online
|
|||
$ python3 -m pip install --no-build-isolation pycoin-*.tar.gz # offline
|
||||
```
|
||||
|
||||
Install Pylint:
|
||||
|
||||
```text
|
||||
$ python3 -m pip install pylint
|
||||
```
|
||||
|
||||
CD to the MMGen Wallet repository root and build without installing:
|
||||
CD to the MMGen Wallet repository root and build the secp256k1 extension module
|
||||
in place:
|
||||
|
||||
```text
|
||||
$ cd path/to/mmgen/repo
|
||||
|
|
@ -82,7 +65,8 @@ Run the following if upgrading from a previous version of MMGen:
|
|||
$ test/cmdtest.py clean
|
||||
```
|
||||
|
||||
Run the test suite in fast mode, skipping altcoin tests:
|
||||
Run the test suite in fast mode, skipping altcoin tests (fast mode skips
|
||||
non-essential tests and uses fewer rounds for repeated tests):
|
||||
|
||||
```text
|
||||
$ test/test-release.sh -FA
|
||||
|
|
@ -95,9 +79,10 @@ Complete the BTC-only installation steps above, without running the test.
|
|||
Make sure the [Bitcoin Cash Node][cnd], [Litecoin][ld] and [Monero][md]
|
||||
daemons are installed on your system.
|
||||
|
||||
Install [Parity, Geth and the ETH Python requirements][oe], optionally the
|
||||
Install [Reth, Geth, Parity and the ETH Python requirements][rg], optionally the
|
||||
[Solidity compiler][sc], and [the XMR Python requirements][xr] as described on
|
||||
the Altcoin-and-Forkcoin-Support page.
|
||||
the Altcoin-and-Forkcoin-Support page. For Ethereum testing in fast mode, Reth
|
||||
may be omitted.
|
||||
|
||||
In addition, you must install the following helper programs and libraries (MSYS2
|
||||
users can omit Zcash-Mini and leave out `sudo` in commands):
|
||||
|
|
@ -132,26 +117,54 @@ may also be started and stopped manually at the DOS or MSYS2 prompt as follows
|
|||
# net stop msys2_sshd
|
||||
```
|
||||
|
||||
#### Monero-Python
|
||||
#### Install Monero-Python
|
||||
|
||||
```text
|
||||
$ python3 -m pip install pycryptodomex ipaddress varint
|
||||
$ python3 -m pip install pycryptodome ipaddress varint
|
||||
$ python3 -m pip install --no-deps monero
|
||||
```
|
||||
|
||||
#### Vanitygen PlusPlus (forked from Vanitygen Plus)
|
||||
#### Install Eth-Keys (non-MSYS2 systems)
|
||||
|
||||
This pulls in a lot of dependencies. If you prefer, you may install the
|
||||
openethereum ‘ethkey’ utility instead, if it’s available on your platform.
|
||||
|
||||
```text
|
||||
$ python3 -m pip install eth-keys
|
||||
```
|
||||
|
||||
#### Install OpenEthereum Ethkey (alternative to eth-keys)
|
||||
|
||||
Install this on MSYS2 or if ‘eth-keys’ is unavailable on your platform. Do not
|
||||
confuse this with the Reth ‘ethkey’ utility, which is entirely different.
|
||||
|
||||
On Arch Linux and ArchLinuxArm systems, ‘ethkey’ is installed as follows:
|
||||
|
||||
```text
|
||||
$ pacman -S openethereum
|
||||
```
|
||||
|
||||
For 64-bit Windows (MSYS2), Linux and macOS systems, ‘ethkey’ can be found in
|
||||
the zip archives distributed with [this release][oz].
|
||||
|
||||
#### Install Vanitygen PlusPlus (a fork of Vanitygen Plus)
|
||||
|
||||
```text
|
||||
$ git clone https://github.com/10gic/vanitygen-plusplus
|
||||
$ cd vanitygen-plusplus
|
||||
$ git checkout -b vanitygen-plus e7858035d092 # rewind to fork commit
|
||||
```
|
||||
|
||||
Edit the Makefile, changing `-lpcre` to `-lpcre2-posix` on the second line.
|
||||
|
||||
```text
|
||||
$ make keyconv # ‘mingw32-make.exe keyconv’ for MSYS2
|
||||
$ sudo install --strip keyconv /usr/local/bin # Linux, macOS
|
||||
$ install --strip keyconv.exe /usr/local/bin # MSYS2
|
||||
$ cd ..
|
||||
```
|
||||
|
||||
#### Zcash-Mini
|
||||
#### Install Zcash-Mini
|
||||
|
||||
```text
|
||||
$ sudo apt-get install golang # skip this if Go is already installed
|
||||
|
|
@ -169,20 +182,6 @@ $ sudo install --strip ./zcash-mini /usr/local/bin
|
|||
$ cd ..
|
||||
```
|
||||
|
||||
#### Ethkey
|
||||
|
||||
On Arch Linux and ArchLinuxArm systems, the ‘ethkey’ utility is included in the
|
||||
OpenEthereum package:
|
||||
|
||||
```text
|
||||
$ pacman -S openethereum
|
||||
```
|
||||
|
||||
For 64-bit Windows, Linux and macOS systems, ‘ethkey’ can be found in the zip
|
||||
archives distributed with [this release][oz].
|
||||
|
||||
For other systems (i.e. Debian/Ubuntu ARM), tests involving ‘ethkey’ are skipped.
|
||||
|
||||
#### Monero note
|
||||
|
||||
The Monero test (`test/test-release.sh xmr`) creates a private network and
|
||||
|
|
@ -191,7 +190,7 @@ If you experience such a failure, just restart the test.
|
|||
|
||||
### Run the tests
|
||||
|
||||
Now you can run the test suite for all coins:
|
||||
Now you may run the test suite in fast mode for all coins:
|
||||
|
||||
```text
|
||||
$ test/test-release.sh -F
|
||||
|
|
@ -233,7 +232,7 @@ display the commands’ output on the screen as they’re being run.
|
|||
[ad]: https://download.bitcoinabc.org/
|
||||
[cnd]: https://bitcoincashnode.org/
|
||||
[ld]: https://download.litecoin.org/litecoin-0.17.1/
|
||||
[oe]: Altcoin-and-Forkcoin-Support#a_ed
|
||||
[rg]: Altcoin-and-Forkcoin-Support#a_geth
|
||||
[sc]: Altcoin-and-Forkcoin-Support#a_dt
|
||||
[xr]: Altcoin-and-Forkcoin-Support#a_xmr_req
|
||||
[oz]: https://github.com/openethereum/openethereum/releases/tag/v3.1.0
|
||||
|
|
|
|||
17
_Footer.md
17
_Footer.md
|
|
@ -2,19 +2,26 @@ Homepage:
|
|||
[Clearnet](https://mmgen-wallet.cc) |
|
||||
[I2P](http://mmgen-wallet.i2p) |
|
||||
[Onion](http://mmgen55rtcahqfp2hn3v7syqv2wqanks5oeezqg3ykwfkebmouzjxlad.onion)
|
||||
Code repository:
|
||||
Code Repository:
|
||||
[Clearnet](https://mmgen.org/project/mmgen/mmgen-wallet) |
|
||||
[I2P](http://mmgen-wallet.i2p/project/mmgen/mmgen-wallet) |
|
||||
[Onion](http://mmgen55rtcahqfp2hn3v7syqv2wqanks5oeezqg3ykwfkebmouzjxlad.onion/project/mmgen/mmgen-wallet)
|
||||
Code repository mirrors:
|
||||
Code Repository Mirrors:
|
||||
[Github](https://github.com/mmgen/mmgen-wallet) |
|
||||
[Gitlab](https://gitlab.com/mmgen/mmgen-wallet) |
|
||||
[Codeberg](https://codeberg.org/mmgen/mmgen-wallet)
|
||||
[Keybase](https://keybase.io/mmgen) |
|
||||
IRC:
|
||||
**#mmgen-wallet** ([OFTC](https://oftc.net) | postman.i2p) |
|
||||
E-Mail:
|
||||
[Tuta](mailto:mmgen@tuta.io) |
|
||||
[Proton](mailto:mmgen-wallet@proton.me)
|
||||
Accounts:
|
||||
[Twitter](https://twitter.com/TheMMGenProject) |
|
||||
[Bitcointalk](https://bitcointalk.org/index.php?topic=567069.new#new) |
|
||||
[Dread](http://dreadytofatroptsdj6io7l3xptbet6onoyno2yv7jicoxknyazubrad.onion/u/MMGen) |
|
||||
[Reddit](https://www.reddit.com/user/mmgen-py) |
|
||||
[Bitcointalk](https://bitcointalk.org/index.php?topic=567069.new#new)
|
||||
[PGP Signing Key](MMGen-Signing-Keys): 5C84 CB45 AEE2 250F 31A6 A570 3F8B 1861 E32B 7DA2
|
||||
[Keybase](https://keybase.io/mmgen)
|
||||
PGP Signing Key: [5C84 CB45 AEE2 250F 31A6 A570 3F8B 1861 E32B 7DA2][5]
|
||||
Donate:
|
||||
⊙ BTC: *bc1qxmymxf8p5ckvlxkmkwgw8ap5t2xuaffmrpexap*
|
||||
⊙ BCH: *15TLdmi5NYLdqmtCqczUs5pBPkJDXRs83w*
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
* [Install on Microsoft Windows][1]
|
||||
* [Install on Linux or macOS][2]
|
||||
* [Install on Nix/NixOS][n]
|
||||
|
||||
#### Using MMGen Wallet
|
||||
|
||||
|
|
@ -19,6 +20,7 @@
|
|||
|
||||
[1]: Install-MMGen-Wallet-on-Microsoft-Windows
|
||||
[2]: Install-MMGen-Wallet-on-Linux-or-macOS
|
||||
[n]: Install-MMGen-Wallet-on-Nix
|
||||
[3]: Getting-Started-with-MMGen-Wallet
|
||||
[4]: MMGen-Wallet-Quick-Start-with-Regtest-Mode
|
||||
[5]: MMGen-Wallet-command-help
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
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)
|
||||
--longhelp Print help message for long (global) 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
|
||||
|
|
@ -40,15 +40,6 @@
|
|||
|
||||
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
|
||||
|
||||
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
|
||||
|
|
@ -99,6 +90,21 @@
|
|||
with brainwallets. For a brainwallet passphrase to generate the correct
|
||||
seed, the same seed length and hash preset parameters must always be used.
|
||||
|
||||
|
||||
ADDRESS TYPES:
|
||||
|
||||
Code Type Description
|
||||
---- ---- -----------
|
||||
‘L’ legacy - Legacy uncompressed address
|
||||
‘C’ compressed - Compressed P2PKH address
|
||||
‘S’ segwit - Segwit P2SH-P2WPKH address
|
||||
‘B’ bech32 - Native Segwit (Bech32) address
|
||||
‘X’ bech32x - Cross-chain Bech32 address
|
||||
‘E’ ethereum - Ethereum address
|
||||
‘Z’ zcash_z - Zcash z-address
|
||||
‘M’ monero - Monero address
|
||||
|
||||
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -115,5 +121,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-ADDRGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-ADDRGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
USAGE: mmgen-addrimport [opts] [MMGen address file]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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
|
||||
|
|
@ -31,5 +31,5 @@
|
|||
|
||||
It’s recommended to use ‘--rpc-backend=aio’ with ‘--rescan’.
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-ADDRIMPORT(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-ADDRIMPORT(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,9 +3,15 @@
|
|||
USAGE: mmgen-autosign [opts] [operation]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) options
|
||||
-c, --coins c Coins to sign for (comma-separated list)
|
||||
-I, --no-insert-check Don’t check for device insertion
|
||||
-k, --keys-from-file F Use wif keys listed in file ‘F’ for signing non-MMGen
|
||||
inputs. The file may be MMGen encrypted if desired. The
|
||||
‘setup’ operation creates a temporary encrypted copy of
|
||||
the file in volatile memory for use during the signing
|
||||
session, thus permitting the deletion of the original
|
||||
file for increased security.
|
||||
-l, --seed-len N Specify wallet seed length of ‘N’ bits (for setup only)
|
||||
-L, --led Use status LED to signal standby, busy and error
|
||||
-m, --mountpoint M Specify an alternate mountpoint 'M'
|
||||
|
|
@ -27,6 +33,8 @@
|
|||
-v, --verbose Produce more verbose output
|
||||
-w, --wallet-dir D Specify an alternate wallet dir
|
||||
(default: '/dev/shm/autosign')
|
||||
-W, --allow-non-wallet-swap Allow signing of swap transactions that send funds
|
||||
to non-wallet addresses
|
||||
-x, --xmrwallets L Range or list of wallets to be used for XMR autosigning
|
||||
|
||||
|
||||
|
|
@ -125,5 +133,5 @@
|
|||
Always remember to power off the signing machine when your signing session
|
||||
is over.
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-AUTOSIGN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-AUTOSIGN(1)
|
||||
```
|
||||
|
|
|
|||
35
command-help-cli.md
Normal file
35
command-help-cli.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
```text
|
||||
MMGEN-CLI: Communicate with a coin daemon via its JSON-RPC interface
|
||||
USAGE: mmgen-cli [opts] <command> <command args>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --ascii-output Ensure that output is ASCII encoded
|
||||
-w, --wallet NAME Use tracking wallet with name NAME
|
||||
|
||||
|
||||
The utility accepts all MMGen global configuration options and sources the user
|
||||
config file, allowing users to preconfigure hosts, ports, passwords, datadirs,
|
||||
tracking wallets and so forth, thus saving a great deal of typing at the
|
||||
command line. This behavior may be overridden with the --skip-cfg-file option.
|
||||
|
||||
Arguments are given in JSON format, with lowercase ‘true’, ‘false’ and ‘null’
|
||||
for booleans and None, and double-quoted strings in dicts and lists.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
|
||||
$ mmgen-cli --wallet=wallet2 listreceivedbyaddress 0 true
|
||||
|
||||
$ mmgen-cli --coin=ltc --rpc-host=orion getblockcount
|
||||
|
||||
$ mmgen-cli --regtest=1 --wallet=bob getbalance
|
||||
|
||||
$ mmgen-cli --coin=eth eth_getBalance 0x00000000219ab540356cBB839Cbe05303d7705Fa latest
|
||||
|
||||
$ mmgen-cli createrawtransaction \
|
||||
'[{"txid":"832f5aa9af55dc453314e26869c8f96db1f2a9acac9f23ae18d396903971e0c6","vout":0}]' \
|
||||
'[{"1111111111111111111114oLvT2":0.001}]'
|
||||
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-CLI(1)
|
||||
```
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
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)
|
||||
--longhelp Print help message for long (global) 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
|
||||
|
|
@ -45,15 +45,6 @@
|
|||
|
||||
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
|
||||
|
||||
|
||||
NOTES FOR ALL GENERATOR COMMANDS
|
||||
|
||||
|
|
@ -104,6 +95,21 @@
|
|||
with brainwallets. For a brainwallet passphrase to generate the correct
|
||||
seed, the same seed length and hash preset parameters must always be used.
|
||||
|
||||
|
||||
ADDRESS TYPES:
|
||||
|
||||
Code Type Description
|
||||
---- ---- -----------
|
||||
‘L’ legacy - Legacy uncompressed address
|
||||
‘C’ compressed - Compressed P2PKH address
|
||||
‘S’ segwit - Segwit P2SH-P2WPKH address
|
||||
‘B’ bech32 - Native Segwit (Bech32) address
|
||||
‘X’ bech32x - Cross-chain Bech32 address
|
||||
‘E’ ethereum - Ethereum address
|
||||
‘Z’ zcash_z - Zcash z-address
|
||||
‘M’ monero - Monero address
|
||||
|
||||
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -120,5 +126,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-KEYGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-KEYGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
mmgen-msg [opts] export MESSAGE_FILE [MMGen ID]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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)
|
||||
|
|
@ -30,22 +30,25 @@
|
|||
The `create` operation takes one or more ADDRESS_SPEC arguments with the
|
||||
following format:
|
||||
|
||||
SEED_ID:ADDR_TYPE:ADDR_IDX_SPEC
|
||||
SEED_ID:ADDRTYPE_CODE: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 ADDRTYPE_CODE is a one-letter address type code 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
|
||||
Code Type Description
|
||||
---- ---- -----------
|
||||
‘L’ legacy - Legacy uncompressed address
|
||||
‘C’ compressed - Compressed P2PKH address
|
||||
‘S’ segwit - Segwit P2SH-P2WPKH address
|
||||
‘B’ bech32 - Native Segwit (Bech32) address
|
||||
‘X’ bech32x - Cross-chain Bech32 address
|
||||
‘E’ ethereum - Ethereum address
|
||||
‘Z’ zcash_z - Zcash z-address
|
||||
‘M’ monero - Monero address
|
||||
|
||||
|
||||
NOTES
|
||||
|
|
@ -104,5 +107,5 @@
|
|||
Verify and display the exported JSON signature data:
|
||||
$ mmgen-msg verify signatures.json
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-MSG(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-MSG(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
USAGE: mmgen-passchg [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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
|
||||
|
|
@ -36,6 +36,7 @@
|
|||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -52,5 +53,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-PASSCHG(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-PASSCHG(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
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)
|
||||
--longhelp Print help message for long (global) 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.
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
NOTES FOR THIS COMMAND
|
||||
|
||||
ID string must be a valid UTF-8 string not longer than 256 characters and
|
||||
not containing the symbols ' ', ':', '/', '\'.
|
||||
not containing the symbols ' ", ":", "/", "\'.
|
||||
|
||||
Password indexes are given as a comma-separated list and/or hyphen-separated
|
||||
range(s).
|
||||
|
|
@ -84,6 +84,7 @@
|
|||
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:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -100,5 +101,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-PASSGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-PASSGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
USAGE: mmgen-regtest [opts] <command>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) options
|
||||
-b, --bdb-wallet Create and use a legacy Berkeley DB coin daemon wallet
|
||||
-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
|
||||
|
|
@ -25,5 +25,5 @@
|
|||
wallet_cli - execute a wallet RPC call with supplied arguments (wallet
|
||||
is first argument)
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-REGTEST(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-REGTEST(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
USAGE: mmgen-seedjoin [options] share1 share2 [...shareN]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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)
|
||||
|
|
@ -45,6 +45,7 @@
|
|||
trailing space are ignored. This permits reading passphrase or brainwallet
|
||||
data from a multi-line file with free spacing and indentation.
|
||||
|
||||
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -61,5 +62,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-SEEDJOIN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SEEDJOIN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
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)
|
||||
--longhelp Print help message for long (global) 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)
|
||||
|
|
@ -127,6 +127,7 @@
|
|||
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:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -143,5 +144,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-SEEDSPLIT(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SEEDSPLIT(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
USAGE: mmgen-subwalletgen [opts] [infile] <Subseed Index>
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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)
|
||||
|
|
@ -80,6 +80,7 @@
|
|||
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:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -96,5 +97,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-SUBWALLETGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SUBWALLETGEN(1)
|
||||
```
|
||||
|
|
|
|||
258
command-help-swaptxcreate.md
Normal file
258
command-help-swaptxcreate.md
Normal file
|
|
@ -0,0 +1,258 @@
|
|||
```text
|
||||
MMGEN-SWAPTXCREATE: Create a DEX swap transaction from one MMGen tracking wallet to another
|
||||
USAGE: mmgen-swaptxcreate [opts] COIN1 [AMT CHG_ADDR] COIN2 [ADDR] [addr file ...]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --autosign Create a transaction for offline autosigning (see
|
||||
‘mmgen-autosign’). The removable device is mounted and
|
||||
unmounted automatically
|
||||
-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
|
||||
-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 N Set the gas limit for Ethereum (see GAS LIMIT below)
|
||||
-G, --router-gas N Set the gas limit for the Ethereum router contract
|
||||
(integer). When unset, a hardcoded default will be
|
||||
used. Applicable only for swaps from token assets.
|
||||
-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, --trade-limit L Minimum swap amount, as either percentage or absolute
|
||||
coin amount (see TRADE LIMIT below)
|
||||
-L, --autochg-ignore-labels Ignore labels when autoselecting change addresses
|
||||
-m, --minconf n Minimum number of confirmations required to spend
|
||||
outputs (default: 1)
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-r, --stream-interval N Set block interval for streaming swap (default: 3)
|
||||
-s, --swap-proto Swap protocol to use (Default: thorchain,
|
||||
Choices: 'thorchain')
|
||||
-S, --list-assets List available swap assets
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-x, --proxy P Fetch the swap quote via SOCKS5h proxy ‘P’ (host:port).
|
||||
Use special value ‘env’ to honor *_PROXY environment
|
||||
vars instead.
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
|
||||
This script is similar in operation to ‘mmgen-txcreate’, only with additional
|
||||
steps. Users are advised to first familiarize themselves with the use of that
|
||||
script before attempting to perform a swap with this one.
|
||||
|
||||
The tracking wallets of both the send and receive coins must be available when
|
||||
the script is invoked. If the two coin daemons are running on different hosts
|
||||
than the script, or with non-standard ports, coin-specific RPC options may be
|
||||
required (see EXAMPLES below).
|
||||
|
||||
The swap protocol’s quote server on the Internet must be reachable either
|
||||
directly or via the SOCKS5 proxy specified with the --proxy option. To improve
|
||||
privacy, it’s recommended to proxy requests to the quote server via Tor or
|
||||
some other anonymity network.
|
||||
|
||||
The resulting transaction file is saved, signed, sent, and optionally bumped,
|
||||
exactly the same way as one created with ‘mmgen-txcreate’. Autosign with
|
||||
automount is likewise supported via the --autosign option.
|
||||
|
||||
The command line must contain at minimum a send coin (COIN1) and receive coin
|
||||
(COIN2) symbol. Currently supported coins are BTC, LTC, BCH and ETH. All
|
||||
other arguments are optional. If AMT is specified, the specified value of
|
||||
send coin will be swapped and the rest returned to a change address in the
|
||||
originating tracking wallet. Otherwise, the entire value of the interactively
|
||||
selected inputs will be swapped.
|
||||
|
||||
By default, the change (if applicable) and destination addresses are chosen
|
||||
automatically by finding the lowest-indexed unused addresses of the preferred
|
||||
address types in the send and receive tracking wallets. For Bitcoin and
|
||||
forks, types ‘B’, ‘S’ and ‘C’ (see ADDRESS TYPES below) are searched in that
|
||||
order for unused addresses. Note that sending to an unused address may be
|
||||
undesirable for Ethereum, where address (i.e. account) reuse is the norm. In
|
||||
that case, the user should specify a destination address on the command line.
|
||||
|
||||
If the wallet contains eligible unused addresses with multiple Seed IDs, the
|
||||
user will be presented with a list of the lowest-indexed addresses of
|
||||
preferred type for each Seed ID and prompted to choose from among them.
|
||||
|
||||
Change and destination addresses may also be specified manually with the
|
||||
CHG_ADDR and ADDR arguments. These may be given as full MMGen IDs or in the
|
||||
form ADDRTYPE_CODE or SEED_ID:ADDRTYPE_CODE (see EXAMPLES below and the
|
||||
‘mmgen-txcreate’ help screen for details). For Ethereum, the CHG_ADDR
|
||||
argument is not supported.
|
||||
|
||||
While discouraged, sending change or swapping to non-wallet addresses is also
|
||||
supported, in which case the signing script (‘mmgen-txsign’ or ‘mmgen-
|
||||
autosign’, as applicable) must be invoked with the --allow-non-wallet-swap
|
||||
option.
|
||||
|
||||
Rather than specifying a transaction fee on the command line, it’s advisable
|
||||
to start with the fee suggested by the swap protocol quote server (the script
|
||||
does this automatically) and then adjust the fee interactively if desired.
|
||||
|
||||
When choosing a fee, bear in mind that the longer the transaction remains
|
||||
unconfirmed, the greater the risk that the vault address will expire, leading
|
||||
to loss of funds. It’s therefore recommended to learn how to create, sign and
|
||||
send replacement transactions with ‘mmgen-txbump’ before performing a swap
|
||||
with this script. When bumping a stuck swap transaction, the safest option
|
||||
is to create a replacement transaction with one output that returns funds back
|
||||
to the originating tracking wallet, thus aborting the swap, rather than one
|
||||
that merely increases the fee (see EXAMPLES below).
|
||||
|
||||
Before broadcasting the transaction, it’s a good idea to double-check the
|
||||
vault address on a block explorer such as thorchain.net or runescan.io.
|
||||
|
||||
The MMGen Node Tools suite contains two useful tools to help with fine-tuning
|
||||
transaction fees, ‘mmnode-feeview’ and ‘mmnode-blocks-info’, in addition to
|
||||
‘mmnode-ticker’, which can be used to calculate the current cross-rate between
|
||||
the asset pair of a swap, as well as the total receive value in terms of send
|
||||
value.
|
||||
|
||||
|
||||
TRADE LIMIT
|
||||
|
||||
A target value for the swap may be set, known as the “trade limit”. If
|
||||
this target cannot be met, the network will refund the user’s coins, minus
|
||||
transaction fees (note that the refund goes to the address associated with the
|
||||
transaction’s first input, leading to coin reuse). Since under certain
|
||||
circumstances large amounts of slippage can occur, resulting in significant
|
||||
losses, setting a trade limit is highly recommended.
|
||||
|
||||
The target may be given as either an absolute coin amount or percentage value.
|
||||
In the latter case, it’s interpreted as the percentage below the “expected
|
||||
amount out” returned by the swap quote server. Zero or negative percentage
|
||||
values are also accepted, but are likely to result in your coins being
|
||||
refunded.
|
||||
|
||||
The trade limit is rounded to four digits of precision in order to reduce
|
||||
transaction size.
|
||||
|
||||
|
||||
ADDRESS TYPES:
|
||||
|
||||
Code Type Description
|
||||
---- ---- -----------
|
||||
‘L’ legacy - Legacy uncompressed address
|
||||
‘C’ compressed - Compressed P2PKH address
|
||||
‘S’ segwit - Segwit P2SH-P2WPKH address
|
||||
‘B’ bech32 - Native Segwit (Bech32) address
|
||||
‘X’ bech32x - Cross-chain Bech32 address
|
||||
‘E’ ethereum - Ethereum address
|
||||
‘Z’ zcash_z - Zcash z-address
|
||||
‘M’ monero - Monero address
|
||||
|
||||
|
||||
GAS LIMIT
|
||||
|
||||
This option specifies the maximum gas allowance for an Ethereum transaction.
|
||||
It’s generally of interest only for token transactions or swap transactions
|
||||
from token assets.
|
||||
|
||||
Parameter must be an integer or one of the special values ‘fallback’ (for a
|
||||
locally computed sane default) or ‘auto’ (for gas estimate via an RPC call,
|
||||
in the case of a token transaction, or locally computed default, in the case
|
||||
of a standard transaction). The default is ‘auto’.
|
||||
|
||||
|
||||
FEE SPECIFICATION
|
||||
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute coin amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by ‘s’, for satoshi (for
|
||||
Bitcoin, Litecoin and Bitcoin Cash), or gas price, using an integer followed
|
||||
by ‘w’,‘K’,‘M’,‘G’,‘s’ or ‘f’, for wei, Kwei, Mwei, Gwei, szabo and finney,
|
||||
respectively (for Ethereum)
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
|
||||
Display available swap assets:
|
||||
|
||||
$ mmgen-swaptxcreate -S
|
||||
|
||||
Create a BTC-to-LTC swap transaction, prompting the user for transaction
|
||||
inputs. The full value of the inputs, minus miner fees, will be swapped
|
||||
and sent to an unused address in the user’s LTC tracking wallet:
|
||||
|
||||
$ mmgen-swaptxcreate BTC LTC
|
||||
|
||||
Same as above, but swap 0.123 BTC, minus miner fees, and send the change to
|
||||
an unused address in the BTC tracking wallet:
|
||||
|
||||
$ mmgen-swaptxcreate BTC 0.123 LTC
|
||||
|
||||
Same as above, but specify that the change address be a Segwit P2SH (‘S’)
|
||||
address:
|
||||
|
||||
$ mmgen-swaptxcreate BTC 0.123 S LTC
|
||||
|
||||
Same as above, but additionally specify that the destination LTC address be
|
||||
a compressed P2PKH (‘C’) address:
|
||||
|
||||
$ mmgen-swaptxcreate BTC 0.123 S LTC C
|
||||
|
||||
Same as above, but specify the BTC change address explicitly and the
|
||||
destination LTC address by Seed ID and address type:
|
||||
|
||||
$ mmgen-swaptxcreate BTC 0.123 BEADCAFE:S:6 LTC BEADCAFE:C
|
||||
|
||||
Abort the above swap by creating a replacement transaction that returns the
|
||||
funds to the originating tracking wallet (omit the transaction filename if
|
||||
using --autosign):
|
||||
|
||||
$ mmgen-txbump BEADCAFE:S:6 [raw transaction file]
|
||||
|
||||
Swap 0.123 BTC to a non-wallet address (not recommended):
|
||||
|
||||
$ mmgen-swaptxcreate BTC 0.123 LTC ltc1qaq8t3pakcftpk095tnqfv5cmmczysls0xx9388
|
||||
|
||||
Create an LTC-to-BCH swap transaction, with the Litecoin daemon running on
|
||||
host ‘orion’ and Bitcoin Cash Node daemon on host ‘gemini’ with non-standard
|
||||
RPC port 8332. Communicate with the swap quote server via Tor.
|
||||
|
||||
$ mmgen-swaptxcreate --ltc-rpc-host=orion --bch-rpc-host=gemini --bch-rpc-port=8332 --proxy=localhost:9050 LTC BCH
|
||||
|
||||
After sending, check the status of the above swap’s LTC deposit transaction
|
||||
(omit the transaction filename if using --autosign):
|
||||
|
||||
$ mmgen-txsend --ltc-rpc-host=orion --status [transaction file]
|
||||
|
||||
Check whether the funds have arrived in the BCH destination wallet:
|
||||
|
||||
$ mmgen-tool --coin=bch --bch-rpc-host=gemini twview minconf=0
|
||||
|
||||
Create a Tether-to-LTC swap transaction for autosigning, connecting to the
|
||||
swap quote server via Tor:
|
||||
|
||||
$ mmgen-swaptxcreate --autosign --proxy=localhost:9050 ETH.USDT 1000 LTC
|
||||
|
||||
After signing, send the transaction via public Etherscan proxy over Tor:
|
||||
|
||||
$ mmgen-txsend --autosign --quiet --tx-proxy=etherscan --proxy=localhost:9050
|
||||
|
||||
After sending, check the transaction status:
|
||||
|
||||
$ mmgen-txsend --autosign --verbose --status
|
||||
|
||||
Create a Tether-to-DAI swap transaction, with explicit destination account:
|
||||
|
||||
$ mmgen-swaptxcreate ETH.USDT 1000 ETH.DAI E:01234ABC:3
|
||||
|
||||
Create a RUNE-to-BTC swap transaction, proxying requests to the remote
|
||||
Thornode server via Tor:
|
||||
|
||||
$ mmgen-swaptxcreate --proxy=localhost:9050 RUNE 1000 BTC
|
||||
|
||||
Same as above, but proxy requests via the I2P router running on host gw1:
|
||||
|
||||
$ https_proxy=http://gw1:4444 mmgen-swaptxcreate --proxy=env RUNE 1000 BTC
|
||||
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SWAPTXCREATE(1)
|
||||
```
|
||||
320
command-help-swaptxdo.md
Normal file
320
command-help-swaptxdo.md
Normal file
|
|
@ -0,0 +1,320 @@
|
|||
```text
|
||||
MMGEN-SWAPTXDO: Create, sign and send a DEX swap transaction from one MMGen tracking wallet to another
|
||||
USAGE: mmgen-swaptxdo [opts] COIN1 [AMT CHG_ADDR] COIN2 [ADDR] [addr file ...] [seed source ...]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long (global) 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
|
||||
-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 N Set the gas limit for Ethereum (see GAS LIMIT below)
|
||||
-G, --router-gas N Set the gas limit for the Ethereum router contract
|
||||
(integer). When unset, a hardcoded default will be
|
||||
used. Applicable only for swaps from token assets.
|
||||
-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, --trade-limit L Minimum swap amount, as either percentage or absolute
|
||||
coin amount (see TRADE LIMIT below)
|
||||
-L, --autochg-ignore-labels Ignore labels when autoselecting change addresses
|
||||
-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'
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-r, --stream-interval N Set block interval for streaming swap (default: 3)
|
||||
-s, --swap-proto Swap protocol to use (Default: thorchain,
|
||||
Choices: 'thorchain')
|
||||
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction.
|
||||
Indexing begins with one.
|
||||
-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, --proxy P Fetch the swap quote via SOCKS5h proxy ‘P’ (host:port).
|
||||
Use special value ‘env’ to honor *_PROXY environment
|
||||
vars instead.
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
|
||||
|
||||
This script is similar in operation to ‘mmgen-txcreate’, only with additional
|
||||
steps. Users are advised to first familiarize themselves with the use of that
|
||||
script before attempting to perform a swap with this one.
|
||||
|
||||
The tracking wallets of both the send and receive coins must be available when
|
||||
the script is invoked. If the two coin daemons are running on different hosts
|
||||
than the script, or with non-standard ports, coin-specific RPC options may be
|
||||
required (see EXAMPLES below).
|
||||
|
||||
The swap protocol’s quote server on the Internet must be reachable either
|
||||
directly or via the SOCKS5 proxy specified with the --proxy option. To improve
|
||||
privacy, it’s recommended to proxy requests to the quote server via Tor or
|
||||
some other anonymity network.
|
||||
|
||||
The resulting transaction file is saved, signed, sent, and optionally bumped,
|
||||
exactly the same way as one created with ‘mmgen-txcreate’. Autosign with
|
||||
automount is likewise supported via the --autosign option.
|
||||
|
||||
The command line must contain at minimum a send coin (COIN1) and receive coin
|
||||
(COIN2) symbol. Currently supported coins are BTC, LTC, BCH and ETH. All
|
||||
other arguments are optional. If AMT is specified, the specified value of
|
||||
send coin will be swapped and the rest returned to a change address in the
|
||||
originating tracking wallet. Otherwise, the entire value of the interactively
|
||||
selected inputs will be swapped.
|
||||
|
||||
By default, the change (if applicable) and destination addresses are chosen
|
||||
automatically by finding the lowest-indexed unused addresses of the preferred
|
||||
address types in the send and receive tracking wallets. For Bitcoin and
|
||||
forks, types ‘B’, ‘S’ and ‘C’ (see ADDRESS TYPES below) are searched in that
|
||||
order for unused addresses. Note that sending to an unused address may be
|
||||
undesirable for Ethereum, where address (i.e. account) reuse is the norm. In
|
||||
that case, the user should specify a destination address on the command line.
|
||||
|
||||
If the wallet contains eligible unused addresses with multiple Seed IDs, the
|
||||
user will be presented with a list of the lowest-indexed addresses of
|
||||
preferred type for each Seed ID and prompted to choose from among them.
|
||||
|
||||
Change and destination addresses may also be specified manually with the
|
||||
CHG_ADDR and ADDR arguments. These may be given as full MMGen IDs or in the
|
||||
form ADDRTYPE_CODE or SEED_ID:ADDRTYPE_CODE (see EXAMPLES below and the
|
||||
‘mmgen-txcreate’ help screen for details). For Ethereum, the CHG_ADDR
|
||||
argument is not supported.
|
||||
|
||||
While discouraged, sending change or swapping to non-wallet addresses is also
|
||||
supported, in which case the signing script (‘mmgen-txsign’ or ‘mmgen-
|
||||
autosign’, as applicable) must be invoked with the --allow-non-wallet-swap
|
||||
option.
|
||||
|
||||
Rather than specifying a transaction fee on the command line, it’s advisable
|
||||
to start with the fee suggested by the swap protocol quote server (the script
|
||||
does this automatically) and then adjust the fee interactively if desired.
|
||||
|
||||
When choosing a fee, bear in mind that the longer the transaction remains
|
||||
unconfirmed, the greater the risk that the vault address will expire, leading
|
||||
to loss of funds. It’s therefore recommended to learn how to create, sign and
|
||||
send replacement transactions with ‘mmgen-txbump’ before performing a swap
|
||||
with this script. When bumping a stuck swap transaction, the safest option
|
||||
is to create a replacement transaction with one output that returns funds back
|
||||
to the originating tracking wallet, thus aborting the swap, rather than one
|
||||
that merely increases the fee (see EXAMPLES below).
|
||||
|
||||
Before broadcasting the transaction, it’s a good idea to double-check the
|
||||
vault address on a block explorer such as thorchain.net or runescan.io.
|
||||
|
||||
The MMGen Node Tools suite contains two useful tools to help with fine-tuning
|
||||
transaction fees, ‘mmnode-feeview’ and ‘mmnode-blocks-info’, in addition to
|
||||
‘mmnode-ticker’, which can be used to calculate the current cross-rate between
|
||||
the asset pair of a swap, as well as the total receive value in terms of send
|
||||
value.
|
||||
|
||||
|
||||
TRADE LIMIT
|
||||
|
||||
A target value for the swap may be set, known as the “trade limit”. If
|
||||
this target cannot be met, the network will refund the user’s coins, minus
|
||||
transaction fees (note that the refund goes to the address associated with the
|
||||
transaction’s first input, leading to coin reuse). Since under certain
|
||||
circumstances large amounts of slippage can occur, resulting in significant
|
||||
losses, setting a trade limit is highly recommended.
|
||||
|
||||
The target may be given as either an absolute coin amount or percentage value.
|
||||
In the latter case, it’s interpreted as the percentage below the “expected
|
||||
amount out” returned by the swap quote server. Zero or negative percentage
|
||||
values are also accepted, but are likely to result in your coins being
|
||||
refunded.
|
||||
|
||||
The trade limit is rounded to four digits of precision in order to reduce
|
||||
transaction size.
|
||||
|
||||
|
||||
ADDRESS TYPES:
|
||||
|
||||
Code Type Description
|
||||
---- ---- -----------
|
||||
‘L’ legacy - Legacy uncompressed address
|
||||
‘C’ compressed - Compressed P2PKH address
|
||||
‘S’ segwit - Segwit P2SH-P2WPKH address
|
||||
‘B’ bech32 - Native Segwit (Bech32) address
|
||||
‘X’ bech32x - Cross-chain Bech32 address
|
||||
‘E’ ethereum - Ethereum address
|
||||
‘Z’ zcash_z - Zcash z-address
|
||||
‘M’ monero - Monero address
|
||||
|
||||
|
||||
GAS LIMIT
|
||||
|
||||
This option specifies the maximum gas allowance for an Ethereum transaction.
|
||||
It’s generally of interest only for token transactions or swap transactions
|
||||
from token assets.
|
||||
|
||||
Parameter must be an integer or one of the special values ‘fallback’ (for a
|
||||
locally computed sane default) or ‘auto’ (for gas estimate via an RPC call,
|
||||
in the case of a token transaction, or locally computed default, in the case
|
||||
of a standard transaction). The default is ‘auto’.
|
||||
|
||||
|
||||
FEE SPECIFICATION
|
||||
|
||||
Transaction fees, both on the command line and at the interactive prompt, may
|
||||
be specified as either absolute coin amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by ‘s’, for satoshi.
|
||||
|
||||
|
||||
SIGNING NOTES
|
||||
|
||||
Transactions may contain both MMGen or non-MMGen input addresses.
|
||||
|
||||
To sign non-MMGen inputs, a coin daemon 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).
|
||||
|
||||
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.
|
||||
|
||||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
|
||||
Display available swap assets:
|
||||
|
||||
$ mmgen-swaptxdo -S
|
||||
|
||||
Create a BTC-to-LTC swap transaction, prompting the user for transaction
|
||||
inputs. The full value of the inputs, minus miner fees, will be swapped
|
||||
and sent to an unused address in the user’s LTC tracking wallet:
|
||||
|
||||
$ mmgen-swaptxdo BTC LTC
|
||||
|
||||
Same as above, but swap 0.123 BTC, minus miner fees, and send the change to
|
||||
an unused address in the BTC tracking wallet:
|
||||
|
||||
$ mmgen-swaptxdo BTC 0.123 LTC
|
||||
|
||||
Same as above, but specify that the change address be a Segwit P2SH (‘S’)
|
||||
address:
|
||||
|
||||
$ mmgen-swaptxdo BTC 0.123 S LTC
|
||||
|
||||
Same as above, but additionally specify that the destination LTC address be
|
||||
a compressed P2PKH (‘C’) address:
|
||||
|
||||
$ mmgen-swaptxdo BTC 0.123 S LTC C
|
||||
|
||||
Same as above, but specify the BTC change address explicitly and the
|
||||
destination LTC address by Seed ID and address type:
|
||||
|
||||
$ mmgen-swaptxdo BTC 0.123 BEADCAFE:S:6 LTC BEADCAFE:C
|
||||
|
||||
Abort the above swap by creating a replacement transaction that returns the
|
||||
funds to the originating tracking wallet (omit the transaction filename if
|
||||
using --autosign):
|
||||
|
||||
$ mmgen-txbump BEADCAFE:S:6 [raw transaction file]
|
||||
|
||||
Swap 0.123 BTC to a non-wallet address (not recommended):
|
||||
|
||||
$ mmgen-swaptxdo BTC 0.123 LTC ltc1qaq8t3pakcftpk095tnqfv5cmmczysls0xx9388
|
||||
|
||||
Create an LTC-to-BCH swap transaction, with the Litecoin daemon running on
|
||||
host ‘orion’ and Bitcoin Cash Node daemon on host ‘gemini’ with non-standard
|
||||
RPC port 8332. Communicate with the swap quote server via Tor.
|
||||
|
||||
$ mmgen-swaptxdo --ltc-rpc-host=orion --bch-rpc-host=gemini --bch-rpc-port=8332 --proxy=localhost:9050 LTC BCH
|
||||
|
||||
After sending, check the status of the above swap’s LTC deposit transaction
|
||||
(omit the transaction filename if using --autosign):
|
||||
|
||||
$ mmgen-txsend --ltc-rpc-host=orion --status [transaction file]
|
||||
|
||||
Check whether the funds have arrived in the BCH destination wallet:
|
||||
|
||||
$ mmgen-tool --coin=bch --bch-rpc-host=gemini twview minconf=0
|
||||
|
||||
Create a Tether-to-LTC swap transaction for autosigning, connecting to the
|
||||
swap quote server via Tor:
|
||||
|
||||
$ mmgen-swaptxdo --autosign --proxy=localhost:9050 ETH.USDT 1000 LTC
|
||||
|
||||
After signing, send the transaction via public Etherscan proxy over Tor:
|
||||
|
||||
$ mmgen-txsend --autosign --quiet --tx-proxy=etherscan --proxy=localhost:9050
|
||||
|
||||
After sending, check the transaction status:
|
||||
|
||||
$ mmgen-txsend --autosign --verbose --status
|
||||
|
||||
Create a Tether-to-DAI swap transaction, with explicit destination account:
|
||||
|
||||
$ mmgen-swaptxdo ETH.USDT 1000 ETH.DAI E:01234ABC:3
|
||||
|
||||
Create a RUNE-to-BTC swap transaction, proxying requests to the remote
|
||||
Thornode server via Tor:
|
||||
|
||||
$ mmgen-swaptxdo --proxy=localhost:9050 RUNE 1000 BTC
|
||||
|
||||
Same as above, but proxy requests via the I2P router running on host gw1:
|
||||
|
||||
$ https_proxy=http://gw1:4444 mmgen-swaptxdo --proxy=env RUNE 1000 BTC
|
||||
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SWAPTXDO(1)
|
||||
```
|
||||
|
|
@ -499,10 +499,22 @@ Required ARG (type shown in square brackets):
|
|||
pubkeyhex [str] (use '-' to read from STDIN)
|
||||
```
|
||||
|
||||
### `mmgen-tool privhex2pair`
|
||||
|
||||
```text
|
||||
Generate a wifkey/address pair from the provided hexadecimal key
|
||||
|
||||
USAGE: mmgen-tool [OPTS] privhex2pair ARG
|
||||
|
||||
Required ARG (type shown in square brackets):
|
||||
|
||||
privhex [str] (use '-' to read from STDIN)
|
||||
```
|
||||
|
||||
### `mmgen-tool randpair`
|
||||
|
||||
```text
|
||||
Generate a random private key/address pair
|
||||
Generate a random wifkey/address pair
|
||||
|
||||
USAGE: mmgen-tool [OPTS] randpair
|
||||
```
|
||||
|
|
@ -1240,5 +1252,5 @@ Optional KEYWORD ARGS (type and default value shown in square brackets):
|
|||
```
|
||||
|
||||
```text
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TOOL(DETAIL)(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TOOL(DETAIL)(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ GENERAL USAGE INFORMATION FOR MMGEN-TOOL COMMANDS
|
|||
pubhash2addr pubhashhex [str or STDIN]
|
||||
pubhex2addr pubkeyhex [str or STDIN]
|
||||
pubhex2redeem_script pubkeyhex [str or STDIN]
|
||||
privhex2pair privhex [str or STDIN]
|
||||
randpair
|
||||
randwif
|
||||
redeem_script2addr redeem_script_hex [str or STDIN]
|
||||
|
|
@ -187,5 +188,5 @@ EXAMPLES:
|
|||
Same as above, but supply input via STDIN:
|
||||
$ echo "deadbeefcafe" | mmgen-tool hexreverse -
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TOOL(USAGE)(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TOOL(USAGE)(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
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)
|
||||
--longhelp Print help message for long (global) 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
|
||||
|
|
@ -19,7 +19,9 @@
|
|||
-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)
|
||||
-x, --proxy P Proxy HTTP connections via SOCKS5h proxy ‘P’ (host:port).
|
||||
Use special value ‘env’ to honor *_PROXY environment
|
||||
vars instead.
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
|
||||
|
|
@ -84,7 +86,9 @@
|
|||
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
|
||||
privhex2pair - generate a wifkey/address pair from the provided
|
||||
hexadecimal key
|
||||
randpair - generate a random wifkey/address pair
|
||||
randwif - generate a random private key in WIF format
|
||||
redeem_script2addr - convert a Segwit P2SH-P2WPKH redeem script to an
|
||||
address
|
||||
|
|
@ -198,5 +202,5 @@
|
|||
|
||||
Type ‘mmgen-tool help <command>’ for help on a particular command
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TOOL(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TOOL(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
```text
|
||||
MMGEN-TXBUMP: Increase the fee on a replaceable (RBF) MMGen transaction,
|
||||
creating a new transaction, and optionally sign and send the
|
||||
new transaction
|
||||
MMGEN-TXBUMP: Create, and optionally send and sign, a replacement transaction
|
||||
on supporting networks
|
||||
USAGE: mmgen-txbump [opts] [MMGen TX file] [seed source] ...
|
||||
mmgen-txbump [opts] [ADDR,AMT ... | DATA_SPEC] ADDR [MMGen TX file] [seed source] ...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --autosign Bump the most recent transaction created and sent with
|
||||
the --autosign option. The removable device is mounted
|
||||
and unmounted automatically. The transaction file
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
-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').
|
||||
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)
|
||||
|
|
@ -44,20 +44,45 @@
|
|||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-s, --send Sign and send the transaction (the default if seed
|
||||
data is provided)
|
||||
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction.
|
||||
Indexing begins with one.
|
||||
-v, --verbose Produce more verbose output
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-W, --allow-non-wallet-swap Allow signing of swap transactions that send funds
|
||||
to non-wallet addresses
|
||||
-x, --proxy P Fetch the swap quote via SOCKS5h proxy ‘P’ (host:port).
|
||||
Use special value ‘env’ to honor *_PROXY environment
|
||||
vars instead.
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-z, --show-hash-presets Show information on available hash presets
|
||||
|
||||
|
||||
With --autosign, the TX file argument is omitted, and the last submitted TX
|
||||
file on the removable device will be used.
|
||||
|
||||
If no outputs are specified, the original outputs will be used for the
|
||||
replacement transaction, otherwise a new transaction will be created with the
|
||||
outputs listed on the command line. The syntax for the output arguments is
|
||||
identical to that of ‘mmgen-txcreate’.
|
||||
|
||||
The user should take care to select a fee sufficient to ensure the original
|
||||
transaction is replaced in the mempool.
|
||||
|
||||
When bumping a swap transaction, the swap protocol’s quote server on the
|
||||
Internet must be reachable either directly or via the SOCKS5 proxy specified
|
||||
with the --proxy option. To improve privacy, it’s recommended to proxy
|
||||
requests to the quote server via Tor or some other anonymity network.
|
||||
|
||||
|
||||
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.
|
||||
be specified as either absolute coin 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.
|
||||
|
||||
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
|
||||
To sign non-MMGen inputs, a coin daemon 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
|
||||
|
|
@ -78,6 +103,7 @@
|
|||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
|
||||
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -94,5 +120,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TXBUMP(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXBUMP(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,26 +1,24 @@
|
|||
```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 ...]
|
||||
USAGE: mmgen-txcreate [opts] [ADDR,AMT ... | DATA_SPEC] ADDR [addr file ...]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --autosign Create a transaction for offline autosigning (see
|
||||
‘mmgen-autosign’). The removable device is mounted and
|
||||
unmounted automatically
|
||||
-A, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
|
||||
-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').
|
||||
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
|
||||
|
|
@ -35,21 +33,36 @@
|
|||
-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.
|
||||
|
||||
All addresses on the command line can be either Bitcoin addresses or MMGen
|
||||
IDs in the form <seed ID>:<address type letter>:<index>.
|
||||
Addresses on the command line can be either native coin addresses or MMGen
|
||||
IDs in the form SEED_ID:ADDRTYPE_CODE: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 or ADDRESS. The first form
|
||||
creates an output sending the given amount to the given address. The bare
|
||||
address form designates the given address as either the change output or the
|
||||
sole output of the transaction (excluding any data output). Exactly one bare
|
||||
address argument is required.
|
||||
|
||||
For convenience, the bare address argument may be given as ADDRTYPE_CODE or
|
||||
SEED_ID:ADDRTYPE_CODE (see ADDRESS TYPES below). In the first form, the first
|
||||
unused address of type ADDRTYPE_CODE for each Seed ID in the tracking wallet
|
||||
will be displayed in a menu, with the user prompted to select one. In the
|
||||
second form, the user specifies the Seed ID as well, allowing the script to
|
||||
select the transaction’s change output or single output without prompting.
|
||||
See EXAMPLES below.
|
||||
|
||||
A single DATA_SPEC argument may also be given on the command line to create
|
||||
an OP_RETURN data output with a zero spend amount. This is the preferred way
|
||||
to embed data in the blockchain. DATA_SPEC may be of the form "data":DATA
|
||||
or "hexdata":DATA. In the first form, DATA is a string in your system’s native
|
||||
encoding, typically UTF-8. In the second, DATA is a hexadecimal string (with
|
||||
the leading ‘0x’ omitted) encoding the binary data to be embedded. In both
|
||||
cases, the resulting byte string must not exceed 80 bytes in length.
|
||||
|
||||
If the transaction fee is not specified on the command line (see FEE
|
||||
SPECIFICATION below), it will be calculated dynamically using network fee
|
||||
|
|
@ -59,17 +72,26 @@
|
|||
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.
|
||||
|
||||
ADDRESS TYPES:
|
||||
|
||||
Code Type Description
|
||||
---- ---- -----------
|
||||
‘L’ legacy - Legacy uncompressed address
|
||||
‘C’ compressed - Compressed P2PKH address
|
||||
‘S’ segwit - Segwit P2SH-P2WPKH address
|
||||
‘B’ bech32 - Native Segwit (Bech32) address
|
||||
‘X’ bech32x - Cross-chain Bech32 address
|
||||
‘E’ ethereum - Ethereum address
|
||||
‘Z’ zcash_z - Zcash z-address
|
||||
‘M’ monero - Monero address
|
||||
|
||||
|
||||
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.
|
||||
be specified as either absolute coin amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by ‘s’, for satoshi.
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
|
|
@ -77,30 +99,30 @@
|
|||
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 bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 01ABCDEF:B:7
|
||||
|
||||
Same as above, but select the change address automatically:
|
||||
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S
|
||||
$ mmgen-txcreate bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 01ABCDEF:B
|
||||
|
||||
Same as above, but select the change address automatically by address type:
|
||||
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
$ mmgen-txcreate bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 B
|
||||
|
||||
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 bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 B
|
||||
|
||||
Send entire balance of selected inputs minus fee to an external Bitcoin
|
||||
address:
|
||||
|
||||
$ mmgen-txcreate 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB
|
||||
$ mmgen-txcreate bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t
|
||||
|
||||
Send entire balance of selected inputs minus fee to first unused wallet
|
||||
address of specified type:
|
||||
|
||||
$ mmgen-txcreate S
|
||||
$ mmgen-txcreate B
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TXCREATE(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXCREATE(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
```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 ...]
|
||||
USAGE: mmgen-txdo [opts] [ADDR,AMT ... | DATA_SPEC] ADDR [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)
|
||||
--longhelp Print help message for long (global) 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
|
||||
|
|
@ -12,15 +12,13 @@
|
|||
-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').
|
||||
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)
|
||||
|
|
@ -46,15 +44,16 @@
|
|||
-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
|
||||
-R, --no-rbf Make transaction non-replaceable (non-replace-by-fee
|
||||
according to BIP 125)
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction.
|
||||
Indexing begins with one.
|
||||
-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
|
||||
|
||||
|
|
@ -63,14 +62,30 @@
|
|||
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>.
|
||||
Addresses on the command line can be either native coin addresses or MMGen
|
||||
IDs in the form SEED_ID:ADDRTYPE_CODE: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 or ADDRESS. The first form
|
||||
creates an output sending the given amount to the given address. The bare
|
||||
address form designates the given address as either the change output or the
|
||||
sole output of the transaction (excluding any data output). Exactly one bare
|
||||
address argument is required.
|
||||
|
||||
For convenience, the bare address argument may be given as ADDRTYPE_CODE or
|
||||
SEED_ID:ADDRTYPE_CODE (see ADDRESS TYPES below). In the first form, the first
|
||||
unused address of type ADDRTYPE_CODE for each Seed ID in the tracking wallet
|
||||
will be displayed in a menu, with the user prompted to select one. In the
|
||||
second form, the user specifies the Seed ID as well, allowing the script to
|
||||
select the transaction’s change output or single output without prompting.
|
||||
See EXAMPLES below.
|
||||
|
||||
A single DATA_SPEC argument may also be given on the command line to create
|
||||
an OP_RETURN data output with a zero spend amount. This is the preferred way
|
||||
to embed data in the blockchain. DATA_SPEC may be of the form "data":DATA
|
||||
or "hexdata":DATA. In the first form, DATA is a string in your system’s native
|
||||
encoding, typically UTF-8. In the second, DATA is a hexadecimal string (with
|
||||
the leading ‘0x’ omitted) encoding the binary data to be embedded. In both
|
||||
cases, the resulting byte string must not exceed 80 bytes in length.
|
||||
|
||||
If the transaction fee is not specified on the command line (see FEE
|
||||
SPECIFICATION below), it will be calculated dynamically using network fee
|
||||
|
|
@ -80,24 +95,33 @@
|
|||
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.
|
||||
|
||||
ADDRESS TYPES:
|
||||
|
||||
Code Type Description
|
||||
---- ---- -----------
|
||||
‘L’ legacy - Legacy uncompressed address
|
||||
‘C’ compressed - Compressed P2PKH address
|
||||
‘S’ segwit - Segwit P2SH-P2WPKH address
|
||||
‘B’ bech32 - Native Segwit (Bech32) address
|
||||
‘X’ bech32x - Cross-chain Bech32 address
|
||||
‘E’ ethereum - Ethereum address
|
||||
‘Z’ zcash_z - Zcash z-address
|
||||
‘M’ monero - Monero address
|
||||
|
||||
|
||||
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.
|
||||
be specified as either absolute coin amounts, using a plain decimal number, or
|
||||
as satoshis per byte, using an integer followed by ‘s’, for satoshi.
|
||||
|
||||
|
||||
SIGNING NOTES
|
||||
|
||||
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
|
||||
To sign non-MMGen inputs, a coin daemon 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
|
||||
|
|
@ -118,6 +142,7 @@
|
|||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
|
||||
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -140,30 +165,30 @@
|
|||
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 bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 01ABCDEF:B:7
|
||||
|
||||
Same as above, but select the change address automatically:
|
||||
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 01ABCDEF:S
|
||||
$ mmgen-txdo bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 01ABCDEF:B
|
||||
|
||||
Same as above, but select the change address automatically by address type:
|
||||
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB,0.123 S
|
||||
$ mmgen-txdo bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 B
|
||||
|
||||
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 bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t,0.123 B
|
||||
|
||||
Send entire balance of selected inputs minus fee to an external Bitcoin
|
||||
address:
|
||||
|
||||
$ mmgen-txdo 35N9FntsNwy98TmjFHyCpsBVDVUs5wDPfB
|
||||
$ mmgen-txdo bc1qj87nveegsvwmz8yj759xgua2vx2tzsywlny44t
|
||||
|
||||
Send entire balance of selected inputs minus fee to first unused wallet
|
||||
address of specified type:
|
||||
|
||||
$ mmgen-txdo S
|
||||
$ mmgen-txdo B
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TXDO(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXDO(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -2,21 +2,37 @@
|
|||
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)
|
||||
-a, --autosign Send an autosigned transaction created by ‘mmgen-txcreate
|
||||
--autosign’. The removable device is mounted and unmounted
|
||||
automatically. The transaction file argument must be omitted
|
||||
when using this option
|
||||
-A, --abort Abort an unsent transaction created by ‘mmgen-txcreate
|
||||
--autosign’ and delete it from the removable device. The
|
||||
transaction may be signed or unsigned.
|
||||
-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 (or the current transaction,
|
||||
whether sent or unsent, when used with --autosign)
|
||||
-v, --verbose Be more verbose
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --autosign Send an autosigned transaction created by ‘mmgen-txcreate
|
||||
--autosign’. The removable device is mounted and unmounted
|
||||
automatically. The transaction file argument must be omitted
|
||||
when using this option
|
||||
-A, --abort Abort an unsent transaction created by ‘mmgen-txcreate
|
||||
--autosign’ and delete it from the removable device. The
|
||||
transaction may be signed or unsigned.
|
||||
-d, --outdir d Specify an alternate directory 'd' for output
|
||||
-H, --dump-hex F Instead of sending to the network, dump the transaction hex
|
||||
to file ‘F’. Use filename ‘-’ to dump to standard output.
|
||||
-m, --mark-sent Mark the transaction as sent by adding it to the removable
|
||||
device. Used in combination with --autosign when a trans-
|
||||
action has been successfully sent out-of-band.
|
||||
-n, --tx-proxy P Send transaction via public TX proxy ‘P’ (supported proxies:
|
||||
‘etherscan’). This is done via a publicly accessible web
|
||||
page, so no API key or registration is required.
|
||||
-q, --quiet Suppress warnings; overwrite files without prompting
|
||||
-r, --receipt Print the receipt of the sent transaction (Ethereum only)
|
||||
-s, --status Get status of a sent transaction (or current transaction,
|
||||
whether sent or unsent, when used with --autosign)
|
||||
-t, --test Test whether the transaction can be sent without sending it
|
||||
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction. Indexing
|
||||
begins with one.
|
||||
-v, --verbose Be more verbose
|
||||
-w, --wait Wait for transaction confirmation (Ethereum only)
|
||||
-x, --proxy P Connect to TX proxy via SOCKS5h proxy ‘P’ (host:port).
|
||||
Use special value ‘env’ to honor *_PROXY environment vars
|
||||
instead.
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TXSEND(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXSEND(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@
|
|||
USAGE: mmgen-txsign [opts] <transaction file>... [seed source]...
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --autosign Sign a transaction created for offline autosigning (see
|
||||
‘mmgen-autosign’)
|
||||
-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
|
||||
|
|
@ -37,12 +39,14 @@
|
|||
wallet is scanned for subseeds.
|
||||
-v, --verbose Produce more verbose output
|
||||
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
|
||||
-W, --allow-non-wallet-swap Allow signing of swap transactions that send funds
|
||||
to non-wallet addresses
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
|
||||
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
|
||||
To sign non-MMGen inputs, a coin daemon 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
|
||||
|
|
@ -63,6 +67,7 @@
|
|||
Seed source files must have the canonical extensions listed in the 'FileExt'
|
||||
column below:
|
||||
|
||||
|
||||
FMT CODES:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -79,5 +84,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-TXSIGN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXSIGN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
USAGE: mmgen-walletchk [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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
|
||||
|
|
@ -34,6 +34,7 @@
|
|||
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:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -50,5 +51,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-WALLETCHK(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-WALLETCHK(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
USAGE: mmgen-walletconv [opts] [infile]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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)
|
||||
|
|
@ -45,6 +45,7 @@
|
|||
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:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -61,5 +62,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-WALLETCONV(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-WALLETCONV(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
USAGE: mmgen-walletgen [opts]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common options)
|
||||
--longhelp Print help message for long (global) 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)
|
||||
|
|
@ -37,6 +37,7 @@
|
|||
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:
|
||||
|
||||
Format FileExt Valid codes
|
||||
|
|
@ -53,5 +54,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-WALLETGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-WALLETGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -13,8 +13,7 @@
|
|||
mmgen-xmrwallet [opts] export-outputs | export-outputs-sign | import-key-images [wallets]
|
||||
OPTIONS:
|
||||
-h, --help Print this help message
|
||||
--longhelp Print help message for long options (common
|
||||
options)
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --autosign Use appropriate outdir and other params for
|
||||
autosigning operations (implies --watch-only).
|
||||
When this option is in effect, filename argu-
|
||||
|
|
@ -500,5 +499,5 @@
|
|||
to delete your old hot wallets, make sure to do so securely using ‘shred’,
|
||||
‘wipe’ or some other secure deletion utility.
|
||||
|
||||
MMGEN v15.0.0 September 2024 MMGEN-XMRWALLET(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-XMRWALLET(1)
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue