update wiki documentation
This commit is contained in:
parent
4c5640b034
commit
556c7df15c
32 changed files with 279 additions and 243 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.md
|
||||
[bi]: Install-Bitcoind.md#a_d
|
||||
[p8]: Install-Bitcoind.md#a_r
|
||||
[gh]: https://geth.ethereum.org
|
||||
[ge]: https://github.com/ethereum/go-ethereum
|
||||
[mx]: commands/command-help-xmrwallet.md
|
||||
[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
|
||||
|
|
|
|||
|
|
@ -38,31 +38,31 @@
|
|||
|
||||
#### <a id="a_bb">Before you begin</a>
|
||||
|
||||
Before you begin, note that the filenames, seed IDs and Bitcoin addresses used
|
||||
in this primer are intentionally invalid and are for purposes of illustration
|
||||
only. As you perform the exercises, you will substitute real ones in their
|
||||
place.
|
||||
Before you begin, please note that the filenames, seed IDs and Bitcoin addresses
|
||||
used in this primer are intentionally invalid and are for purposes of
|
||||
illustration only. As you perform the exercises, you will substitute real ones
|
||||
in their place.
|
||||
|
||||
The up arrow (for repeating commands) and tab key (or Ctrl-I) (for completing
|
||||
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>
|
||||
|
||||
MMGen Wallet is not a single program but a suite of lightweight scripts run from
|
||||
the command line. Commands all begin, not surprisingly, with `mmgen`, and thus
|
||||
you may view all available commands by typing `mmgen` followed by the TAB key.
|
||||
Every command has a help screen displaying detailed usage and options
|
||||
information. To view it, type the command name followed by `--help`. Note that
|
||||
most command options have long and short versions. For example, the `--help`
|
||||
option may be abbreviated to `-h`. Exceptions are the options listed by
|
||||
`--longhelp`, which have no short versions.
|
||||
MMGen Wallet is not a single program but a suite of scripts run from the command
|
||||
line. Commands all begin, not surprisingly, with `mmgen`, and thus you may view
|
||||
all available commands by typing `mmgen` followed by the TAB key. Every command
|
||||
has a help screen displaying detailed usage and options information, available
|
||||
by entering the command name followed by `--help`. Note that most command
|
||||
options have long and short versions. For example, the `--help` option may be
|
||||
abbreviated to `-h`. Exceptions are the options listed by `--longhelp`, which
|
||||
have no short versions.
|
||||
|
||||
MMGen Wallet’s commands are generally interactive, providing you with information
|
||||
MMGen Wallet’s scripts are generally interactive, providing you with information
|
||||
and prompting you for input. The `--verbose` or `-v` option requests commands
|
||||
to be more wordy, while the `--quiet` or `-q` option suppresses all but the most
|
||||
essential information. These options are available for all MMGen Wallet
|
||||
|
|
@ -80,31 +80,35 @@ Sample command invocations:
|
|||
|
||||
```text
|
||||
$ mmgen-txcreate --help
|
||||
$ mmgen-txcreate --coin=eth --help
|
||||
$ mmgen-addrgen --verbose 1-10
|
||||
$ mmgen-walletgen
|
||||
$ mmgen-walletgen --quiet --seed-len 128
|
||||
```
|
||||
|
||||
Note that the help screens are contextual, so the first two invocations will
|
||||
produce different output.
|
||||
|
||||
#### <a id="a_cf">Configuration file</a>
|
||||
|
||||
Just like Bitcoin Core, MMGen Wallet has its own data directory and
|
||||
configuration file. The data directory is `.mmgen` in the user’s home directory
|
||||
and the config file is `mmgen.cfg`. The config file contains global settings
|
||||
which you may wish to edit at some point to customize your installation. These
|
||||
settings include the maximum transaction fee; the user name, password and
|
||||
hostname used for communicating with your Bitcoin or altcoin daemon; and a
|
||||
number of others.
|
||||
Just like Bitcoin Core, MMGen Wallet has its own data directory, `.mmgen` in the
|
||||
user’s home directory, and configuration file, `mmgen.cfg`. The config file
|
||||
contains global settings which you may wish to edit at some point to customize
|
||||
your installation. These settings include the maximum transaction fee; the user
|
||||
name, password and hostname used for communicating with your Bitcoin or altcoin
|
||||
daemon; and many others. For details, consult the configuration file itself,
|
||||
which is extensively commented.
|
||||
|
||||
#### <a id="a_ts">Bob and Alice regtest mode</a>
|
||||
|
||||
If you just want to quickly test using MMGen Wallet, it’s possible to perform
|
||||
all wallet generation, wallet format conversion, address and key generation, and
|
||||
address import operations on an offline computer with no blockchain and no
|
||||
bitcoin balance.
|
||||
address import operations on an offline computer with no blockchain and no coin
|
||||
balance.
|
||||
|
||||
If you want to practice creating, signing and sending transactions with real
|
||||
bitcoins, however, you’ll need a fully synced blockchain and some coins to play
|
||||
with. This involves an expenditure of both time and money.
|
||||
However, if you want to practice creating, signing and sending transactions with
|
||||
real assets, you’ll need a fully synced blockchain and some coins to play with.
|
||||
This involves an expenditure of both time and money.
|
||||
|
||||
Fortunately, there’s an alternative: MMGen Wallet’s **regtest mode** creates a
|
||||
virtual network of two users, Bob and Alice, who transact with each other on a
|
||||
|
|
@ -158,16 +162,16 @@ Since the wallet is a small, humanly readable ASCII file, it can easily be
|
|||
printed out on paper.
|
||||
|
||||
Another highly recommended way to back up your wallet is to generate a mnemonic
|
||||
seed phrase or seed file [as described below](#a_ms) and write it down or
|
||||
memorize it. If you have an average or better memory, you’ll find memorizing
|
||||
your seed phrase to be surprisingly easy. And the peace of mind that comes with
|
||||
knowing that your coins are recoverable **even if you lose all your physical
|
||||
backups** can’t be overestimated.
|
||||
seed phrase or seed file [as described below](#a_ms) and record or memorize it.
|
||||
If you have an average or better memory, you’ll find memorizing your seed phrase
|
||||
to be surprisingly easy. And the peace of mind that comes with knowing that your
|
||||
coins are recoverable **even if you lose all your physical backups** can’t be
|
||||
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>
|
||||
|
|
@ -249,77 +253,51 @@ $ cat '89ABCDEF-B[1-10].addrs'
|
|||
Note that for non-legacy address types the code letter is included in the
|
||||
filename.
|
||||
|
||||
To fund your wallet, first import the addresses into your tracking wallet and
|
||||
then send some coins to any of them. If you run out of addresses, generate
|
||||
more. To generate a hundred addresses you’d specify an address range of
|
||||
`1-100`.
|
||||
|
||||
Let’s say you’ve decided to spend some BTC into the first four addresses above.
|
||||
Begin by importing these addresses into the tracking wallet on your online
|
||||
machine so their balances will be visible. For convenience of reference,
|
||||
provide the addresses with labels. We’ll use the labels ‘Donations’, ‘Storage
|
||||
1’, ‘Storage 2’ and ‘Storage 3’.
|
||||
|
||||
Make a copy of the address file
|
||||
|
||||
```text
|
||||
$ cp '89ABCDEF-S[1-10].addrs' my.addrs
|
||||
```
|
||||
|
||||
and edit it using the text editor of your choice,
|
||||
|
||||
```text
|
||||
$ nano my.addrs
|
||||
```
|
||||
|
||||
adding labels to the addresses you’ve chosen to spend to:
|
||||
|
||||
```text
|
||||
# My first MMGen addresses
|
||||
89ABCDEF SEGWIT {
|
||||
1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations
|
||||
2 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc Storage 1
|
||||
3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2
|
||||
4 34Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s Storage 3
|
||||
5 3PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7
|
||||
6 3FEqfEsSILwXPfMvVvVuUovzTaaST62Mnf
|
||||
7 3LTTzuhMqPLwQ4IGCwwugny6ZMtUQJSJ1
|
||||
8 3F9495H8EJLb54wirgZkVgI47SP7M2RQWv
|
||||
9 3JbrCyt7BdxRE9GX1N7GiEct8UnIjPmpYd
|
||||
10 3H7vVTk4ejUbQXw45I6g5qvPBSe9bsjDqh
|
||||
}
|
||||
```
|
||||
|
||||
Any line beginning with `#` is a comment. Comments may be placed at the ends
|
||||
of lines as well.
|
||||
|
||||
Save the file, copy it onto a USB stick and transfer it to your online computer.
|
||||
|
||||
#### <a id="a_ia">Import addresses (online computer)</a>
|
||||
|
||||
To fund your wallet, you must import the addresses you’ve generated into your
|
||||
tracking wallet.
|
||||
|
||||
Start the coin daemon with the required options (see the [Install-Bitcoind][08]
|
||||
wiki page for more details on invoking the daemon for your coin and platform).
|
||||
|
||||
Upon startup, older daemons used to automatically generate a new default
|
||||
`wallet.dat`, which MMGen Wallet used as its tracking wallet. With newer
|
||||
daemons (e.g. Core 0.21.0 and above), the tracking wallet will be a directory
|
||||
named `mmgen-tracking-wallet`, located by default under the `wallets`
|
||||
subdirectory in your daemon’s datadir.
|
||||
daemons (e.g. Core 0.21.0 and above), the tracking wallet is generated when
|
||||
first invoking `mmgen-addrimport` and will be a directory named
|
||||
`mmgen-tracking-wallet` located by default under the `wallets` subdirectory
|
||||
in your coin daemon’s datadir.
|
||||
|
||||
Import the ten addresses into your new tracking wallet with the command:
|
||||
Create your tracking wallet and import the ten addresses generated above into
|
||||
it as follows:
|
||||
|
||||
```text
|
||||
$ mmgen-addrimport --batch my.addrs
|
||||
$ mmgen-addrimport my.addrs
|
||||
```
|
||||
|
||||
These addresses will now be tracked: any BTC transferred to them will show up in
|
||||
your listing of address balances. Balances can be viewed using `mmgen-tool
|
||||
listaddresses` (the `showempty` option requests addresses with empty balances
|
||||
to be displayed too).
|
||||
These addresses are now tracked: any BTC transferred to them will show up in
|
||||
your listing of address balances, and balances will be updated automatically
|
||||
as your node syncs with the blockchain. Balances can be viewed using
|
||||
`mmgen-tool listaddresses`:
|
||||
|
||||
```text
|
||||
$ mmgen-tool listaddresses showempty=1
|
||||
MMGenID ADDRESS COMMENT BALANCE
|
||||
$ mmgen-tool listaddresses
|
||||
MMGenID Address Comment Balance
|
||||
89ABCDEF:S:1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE 0
|
||||
89ABCDEF:S:2 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc 0
|
||||
89ABCDEF:S:3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N 0
|
||||
89ABCDEF:S:4 34Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s 0
|
||||
89ABCDEF:S:5 3PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7 0
|
||||
...
|
||||
TOTAL: 0 BTC
|
||||
```
|
||||
|
||||
Invoke `mmgen-tool listaddresses interactive=1` and add some comments to your
|
||||
newly-imported addresses using the ‘l’ key. Depending on your comments, your
|
||||
output will now look something like this:
|
||||
|
||||
```text
|
||||
MMGenID Address Comment Balance
|
||||
89ABCDEF:S:1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations 0
|
||||
89ABCDEF:S:2 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc Storage 1 0
|
||||
89ABCDEF:S:3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2 0
|
||||
|
|
@ -330,10 +308,11 @@ TOTAL: 0 BTC
|
|||
```
|
||||
|
||||
*While not covered in this introduction, note that it’s also possible to [import
|
||||
external coin addresses into your tracking wallet][01]. This allows MMGen
|
||||
non-MMGen coin addresses into your tracking wallet][01]. This allows MMGen
|
||||
Wallet to track and spend funds from another wallet without having to transfer
|
||||
the coins through the network. To do this, you must save the keys corresponding
|
||||
to the given addresses in a separate file for use during transaction signing.*
|
||||
the coins via the blockchain. To do this, you must save the private keys
|
||||
corresponding to the given addresses in a separate file for use during
|
||||
transaction signing.*
|
||||
|
||||
Note that each address has a unique ID (the ‘MMGen ID’) consisting of a Seed ID,
|
||||
address type code letter, and index. Addresses of different types may be
|
||||
|
|
@ -342,29 +321,27 @@ sub-seeds you needn’t worry about key reuse. For example, the addresses
|
|||
`89ABCDEF:S:1` and `89ABCDEF:B:1` are cryptographically unrelated: no one but the
|
||||
wallet’s owner can see that they were generated from the same seed.
|
||||
|
||||
Now that your addresses are being tracked, you may go ahead and send some BTC to
|
||||
them over 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:
|
||||
Now that your addresses are being tracked, you may send some BTC to them over
|
||||
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
|
||||
MMGenID COMMENT BALANCE
|
||||
89ABCDEF:S:1 Donations 0.1
|
||||
89ABCDEF:S:2 Storage 1 0.2
|
||||
89ABCDEF:S:3 Storage 2 0.3
|
||||
89ABCDEF:S:4 Storage 3 0.4
|
||||
MMGenID Address Comment Balance
|
||||
89ABCDEF:S:1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations 0.1
|
||||
89ABCDEF:S:2 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc Storage 1 0.2
|
||||
89ABCDEF:S:3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2 0.3
|
||||
89ABCDEF:S:4 34Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s Storage 3 0.4
|
||||
TOTAL: 1 BTC
|
||||
```
|
||||
|
||||
#### <a id="a_ct">Create a transaction (online computer)</a>
|
||||
|
||||
Now that you have some BTC under MMGen Wallets’s control, you’re ready to create
|
||||
a transaction. Note that transactions are harmless until they’re signed and
|
||||
broadcast to the network, so feel free to experiment and create transactions
|
||||
Now that you have some coins under MMGen Wallet’s control, you’re ready to
|
||||
create a transaction. Note that transactions are harmless until they’re signed
|
||||
and broadcast to the network, so feel free to experiment and create transactions
|
||||
with different combinations of inputs and outputs. Of course, if you’re using
|
||||
testnet or regtest mode, then you risk nothing even when broadcasting
|
||||
transactions.
|
||||
testnet or regtest mode, you risk nothing even when broadcasting transactions.
|
||||
|
||||
To send 0.1 BTC to the a third-party address
|
||||
`3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc`, for example, and send the change back to
|
||||
|
|
@ -426,8 +403,9 @@ amount of 0.1 BTC, plus the transaction fee (for more on fees, see ‘Transactio
|
|||
Fees’ under ‘Advanced Topics’ below). Output #2 is worth 0.2 BTC, which is
|
||||
sufficient, so we’ll choose that and hit ENTER. When prompted for a
|
||||
transaction fee, we’ll choose 0.0001 BTC (note that integer fees followed by
|
||||
the letter ‘s’ for “satoshis per byte” are also permissible). After a couple
|
||||
more prompts and confirmations, your transaction will be saved:
|
||||
the letter ‘s’ for “satoshis per byte” are also accepted, and this is actually
|
||||
the preferred way to indicate fees). After a couple more prompts and
|
||||
confirmations, your transaction will be saved:
|
||||
|
||||
```text
|
||||
Transaction written to file 'FEDCBA[0.1].rawtx'
|
||||
|
|
@ -475,17 +453,17 @@ Once the transaction is broadcast to the network and confirmed, your address
|
|||
listing should look something like this:
|
||||
|
||||
```text
|
||||
$ mmgen-tool listaddresses minconf=1
|
||||
MMGenID COMMENT BALANCE
|
||||
89ABCDEF:S:1 Donations 0.1
|
||||
89ABCDEF:S:3 Storage 2 0.3
|
||||
89ABCDEF:S:4 Storage 3 0.4
|
||||
89ABCDEF:S:5 0.0999
|
||||
$ mmgen-tool listaddresses
|
||||
MMGenID Address Comment Balance
|
||||
89ABCDEF:S:1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations 0.1
|
||||
89ABCDEF:S:3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2 0.3
|
||||
89ABCDEF:S:4 34Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s Storage 3 0.4
|
||||
89ABCDEF:S:5 3PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7 0.0999
|
||||
TOTAL: 0.8999 BTC
|
||||
```
|
||||
|
||||
Alternatively, you may use `mmgen-tool twview` or `mmgen-txcreate -i` for more
|
||||
detailed and configurable output:
|
||||
Alternatively, you may use view your addresses with `mmgen-tool twview`, which
|
||||
lists only unspent outputs and provides some additional information:
|
||||
|
||||
```text
|
||||
$ mmgen-tool twview
|
||||
|
|
@ -1149,7 +1127,7 @@ $ python3 -m pip install user --upgrade dist/*.whl
|
|||
[07]: commands/command-help-autosign.md
|
||||
[08]: Install-Bitcoind.md
|
||||
[09]: Altcoin-and-Forkcoin-Support.md
|
||||
[ax]: Altcoin-and-Forkcoin-Support.md#a_xmr
|
||||
[x]: Altcoin-and-Forkcoin-Support.md#a_xmr
|
||||
[cp]: ../../../../commits/master
|
||||
[mx]: commands/command-help-xmrwallet.md
|
||||
[li]: Install-MMGen-Wallet-on-Linux-or-macOS.md
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ For computers with no Internet connection, see **Note for offline machines** bel
|
|||
#### Debian/Ubuntu:
|
||||
|
||||
```text
|
||||
$ sudo apt-get install curl git gcc libtool make autoconf libgmp-dev libssl-dev libpcre2-dev libmpfr-dev libmpc-dev python3-dev python3-pip libsecp256k1-dev
|
||||
$ sudo apt-get install curl git gcc libtool make autoconf e2fsprogs libgmp-dev libssl-dev libpcre2-dev libmpfr-dev libmpc-dev python3-dev python3-pip libsecp256k1-dev
|
||||
```
|
||||
|
||||
#### Arch Linux:
|
||||
|
|
@ -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.md
|
||||
[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
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ Every time the container is started, you may need to create the files afresh:
|
|||
|
||||
### BTC-only testing
|
||||
|
||||
Install the Bitcoin Core daemon [(source)][sd] [(binaries)][bd].
|
||||
|
||||
Install Pycoin:
|
||||
|
||||
```text
|
||||
|
|
@ -49,7 +51,8 @@ $ python3 -m pip download pycoin # online
|
|||
$ python3 -m pip install --no-build-isolation pycoin-*.tar.gz # offline
|
||||
```
|
||||
|
||||
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
|
||||
|
|
@ -62,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
|
||||
|
|
@ -75,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):
|
||||
|
|
@ -112,32 +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 pycryptodome ipaddress varint
|
||||
$ python3 -m pip install --no-deps monero
|
||||
```
|
||||
|
||||
#### Eth-Keys
|
||||
#### 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
|
||||
```
|
||||
|
||||
#### Vanitygen PlusPlus (forked from Vanitygen Plus)
|
||||
#### 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
|
||||
|
|
@ -163,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
|
||||
|
|
@ -205,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.md#a_ed
|
||||
[rg]: Altcoin-and-Forkcoin-Support.md#a_geth
|
||||
[sc]: Altcoin-and-Forkcoin-Support.md#a_dt
|
||||
[xr]: Altcoin-and-Forkcoin-Support.md#a_xmr_req
|
||||
[oz]: https://github.com/openethereum/openethereum/releases/tag/v3.1.0
|
||||
|
|
|
|||
|
|
@ -121,5 +121,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN-WALLET 15.1.dev44 June 2025 MMGEN-ADDRGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-ADDRGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -31,5 +31,5 @@
|
|||
|
||||
It’s recommended to use ‘--rpc-backend=aio’ with ‘--rescan’.
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-ADDRIMPORT(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-ADDRIMPORT(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -6,6 +6,12 @@
|
|||
--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'
|
||||
|
|
@ -127,5 +133,5 @@
|
|||
Always remember to power off the signing machine when your signing session
|
||||
is over.
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-AUTOSIGN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-AUTOSIGN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -31,5 +31,5 @@
|
|||
'[{"txid":"832f5aa9af55dc453314e26869c8f96db1f2a9acac9f23ae18d396903971e0c6","vout":0}]' \
|
||||
'[{"1111111111111111111114oLvT2":0.001}]'
|
||||
|
||||
MMGEN v15.1.dev19 March 2025 MMGEN-CLI(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-CLI(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -126,5 +126,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN-WALLET 15.1.dev44 June 2025 MMGEN-KEYGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-KEYGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -107,5 +107,5 @@
|
|||
Verify and display the exported JSON signature data:
|
||||
$ mmgen-msg verify signatures.json
|
||||
|
||||
MMGEN-WALLET 15.1.dev44 June 2025 MMGEN-MSG(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-MSG(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -53,5 +53,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-PASSCHG(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-PASSCHG(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -101,5 +101,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-PASSGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-PASSGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -25,5 +25,5 @@
|
|||
wallet_cli - execute a wallet RPC call with supplied arguments (wallet
|
||||
is first argument)
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-REGTEST(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-REGTEST(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -62,5 +62,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-SEEDJOIN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SEEDJOIN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -144,5 +144,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-SEEDSPLIT(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SEEDSPLIT(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -97,5 +97,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-SUBWALLETGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SUBWALLETGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -254,5 +254,5 @@
|
|||
|
||||
$ https_proxy=http://gw1:4444 mmgen-swaptxcreate --proxy=env RUNE 1000 BTC
|
||||
|
||||
MMGEN-WALLET 15.1.dev47 June 2025 MMGEN-SWAPTXCREATE(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-SWAPTXCREATE(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -316,5 +316,5 @@
|
|||
|
||||
$ https_proxy=http://gw1:4444 mmgen-swaptxdo --proxy=env RUNE 1000 BTC
|
||||
|
||||
MMGEN-WALLET 15.1.dev47 June 2025 MMGEN-SWAPTXDO(1)
|
||||
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.1.dev18 March 2025 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.1.dev18 March 2025 MMGEN-TOOL(USAGE)(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TOOL(USAGE)(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -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.1.dev18 March 2025 MMGEN-TOOL(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TOOL(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -120,5 +120,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN-WALLET 15.1.dev44 June 2025 MMGEN-TXBUMP(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXBUMP(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -124,5 +124,5 @@
|
|||
|
||||
$ mmgen-txcreate B
|
||||
|
||||
MMGEN-WALLET 15.1.dev44 June 2025 MMGEN-TXCREATE(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXCREATE(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -190,5 +190,5 @@
|
|||
|
||||
$ mmgen-txdo B
|
||||
|
||||
MMGEN-WALLET 15.1.dev44 June 2025 MMGEN-TXDO(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXDO(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -34,5 +34,5 @@
|
|||
instead.
|
||||
-y, --yes Answer 'yes' to prompts, suppress non-essential output
|
||||
|
||||
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-TXSEND(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXSEND(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@
|
|||
-h, --help Print this help message
|
||||
--longhelp Print help message for long (global) options
|
||||
-a, --autosign Sign a transaction created for offline autosigning (see
|
||||
‘mmgen-autosign’). The removable device is mounted and
|
||||
unmounted automatically
|
||||
‘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
|
||||
|
|
@ -85,5 +84,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN-WALLET 15.1.dev47 June 2025 MMGEN-TXSIGN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-TXSIGN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -51,5 +51,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-WALLETCHK(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-WALLETCHK(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -62,5 +62,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-WALLETCONV(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-WALLETCONV(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -54,5 +54,5 @@
|
|||
MMGenWallet .mmdat wallet,w
|
||||
PlainHexSeedFile .hex hex,rawhex,plainhex
|
||||
|
||||
MMGEN v15.1.dev18 March 2025 MMGEN-WALLETGEN(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-WALLETGEN(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -499,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.1.dev18 March 2025 MMGEN-XMRWALLET(1)
|
||||
MMGEN-WALLET 16.0.0 September 2025 MMGEN-XMRWALLET(1)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
15.1.dev55
|
||||
15.1.dev56
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue