update documentation from wiki
This commit is contained in:
parent
765f245042
commit
2d1a626a7d
4 changed files with 158 additions and 27 deletions
|
|
@ -94,7 +94,7 @@ the `--help` option for more complete information.
|
|||
#### <a id="a_tx">Transacting and other basic operations</a>
|
||||
|
||||
Basic operations with ETH, ETC and ERC20 tokens work as described in the
|
||||
[**Getting Started**][bo] guide, with some differences. Please note the
|
||||
[**Getting Started**][ct] guide, with some differences. Please note the
|
||||
following:
|
||||
|
||||
* Don’t forget to invoke relevant commands with `--coin=eth` or `--coin=etc`.
|
||||
|
|
@ -156,7 +156,7 @@ On your offline machine, sign the TX:
|
|||
$ mmgen-txsign --coin=eth --token=eos ABC123-EOS[10,50000].rawtx
|
||||
```
|
||||
|
||||
*You can also set up and use [autosigning][X] on the offline machine.*
|
||||
*You can also set up and use [**autosigning**][ax] on the offline machine.*
|
||||
|
||||
On your online machine, send the TX:
|
||||
|
||||
|
|
@ -242,10 +242,10 @@ commands. It’s that simple!
|
|||
|
||||
### <a id="a_xmr">Monero (XMR)</a>
|
||||
|
||||
MMGen Wallet’s Monero support includes automated wallet creation/syncing and
|
||||
transacting via the [`mmgen-xmrwallet`][mx] command. Make sure that
|
||||
[Monerod][M] is installed and running and that `monero-wallet-rpc` is located
|
||||
in your executable path.
|
||||
Monero is fully supported by MMGen Wallet.
|
||||
|
||||
Make sure that [Monerod][M] is installed and running and that
|
||||
`monero-wallet-rpc` is located in your executable path.
|
||||
|
||||
<a id="a_xmr_req">Install the Python XMR requirements:</a>
|
||||
|
||||
|
|
@ -260,6 +260,32 @@ $ python3 -m pip install -r keccak-requirements.txt # see above
|
|||
$ python3 -m pip install -r xmr-requirements.txt
|
||||
```
|
||||
|
||||
#### Wallet creation and transacting via the compatibility layer
|
||||
|
||||
This is now the preferred way to transact XMR, replacing the deprecated
|
||||
`mmgen-xmrwallet` command for most operations. Everything works as described
|
||||
in the [**Getting Started**][ct] guide, with the following differences:
|
||||
|
||||
- Manual transacting is not supported, only version 2 [**autosigning**][ax].
|
||||
- XMR compatibility mode must be enabled. Use `--xmrwallet-compat` for online
|
||||
commands, or set `xmrwallet_compat` to `true` in your config file.
|
||||
- The `mmgen-addrgen` script is not used. Instead, addresses are created
|
||||
automatically when `mmgen-autosign setup` is run with the `--xmrwallets`
|
||||
option. Type `mmgen-autosign --help` for more information.
|
||||
- After autosign setup, `mmgen-addrimport --coin=xmr` is run on the online
|
||||
machine with no arguments. This creates the watch-only wallet or wallets
|
||||
that together comprise the user’s tracking wallet. For watch-only wallets
|
||||
that already exist, no action is performed.
|
||||
- The `mmgen-xmrwallet` script may be used to list and view sent transactions
|
||||
on the removable device. Type `mmgen-xmrwallet --help` for details.
|
||||
- New accounts and addresses may be added to the tracking wallet via
|
||||
`mmgen-tool --coin=xmr listaddresses`.
|
||||
|
||||
#### Wallet creation and transacting via `mmgen-xmrwallet` (deprecated)
|
||||
|
||||
Monero support includes automated wallet creation/syncing and transacting via
|
||||
the [`mmgen-xmrwallet`][mx] command.
|
||||
|
||||
*The following instructions are applicable for a hot wallet setup. To learn
|
||||
how to cold sign transactions using MMGen Wallet’s autosign feature, first
|
||||
familiarize yourself with the basic concepts here and then consult the OFFLINE
|
||||
|
|
@ -410,9 +436,9 @@ the MMGen Project.
|
|||
[y]: https://github.com/ethereum/pyethereum
|
||||
[P]: https://pypi.org/project/pip
|
||||
[M]: https://getmonero.org/downloads/#linux
|
||||
[X]: cmds/command-help-autosign.md
|
||||
[ax]: Autosigning.md
|
||||
[gs]: Getting-Started-with-MMGen-Wallet.md
|
||||
[bo]: Getting-Started-with-MMGen-Wallet.md#a_bo
|
||||
[ct]: Getting-Started-with-MMGen-Wallet.md#a_ct
|
||||
[si]: Install-Bitcoind-from-Source-on-Linux.md
|
||||
[bi]: Install-Bitcoind.md#a_d
|
||||
[p8]: Install-Bitcoind.md#a_r
|
||||
|
|
|
|||
90
doc/wiki/Autosigning.md
Normal file
90
doc/wiki/Autosigning.md
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
### [Manual transacting](#as_r) | [Autosigning v1](#as_v1) | [Autosigning v2](#as_v2)
|
||||
|
||||
For most situations, Version 2 autosigning is the best way to transact with
|
||||
MMGen Wallet.
|
||||
|
||||
## <a id="as_r">Transacting, the manual way</a>
|
||||
|
||||
Transacting manually involves the following steps:
|
||||
|
||||
#### Preparation of signing session:
|
||||
1. Boot and log in to offline signing machine
|
||||
|
||||
#### Transacting:
|
||||
1. On online machine, create transaction with [`mmgen-txcreate`][tc] (or [`mmgen-swaptxcreate`][sc])
|
||||
1. Insert removable device
|
||||
1. Mount removable device
|
||||
1. Copy transaction file to removable device
|
||||
1. Unmount removable device
|
||||
1. Extract removable device and transfer it to offline machine
|
||||
1. Mount removable device
|
||||
1. Locate transaction file on removable device, sign it with [`mmgen-txsign`][ts]
|
||||
1. Unmount removable device
|
||||
1. Extract removable device and transfer it to online machine
|
||||
1. Mount removable device
|
||||
1. Locate signed transaction file on removable device, send it with [`mmgen-txsend`][tx]
|
||||
|
||||
Admittedly, this is all quite tedious. To simplify the transaction workflow,
|
||||
Version 1 Autosigning was introduced.
|
||||
|
||||
## <a id="as_v1">Autosigning, Version 1</a>
|
||||
|
||||
Here the main innovation was to eliminate keyboard interaction with the
|
||||
offline signing machine during the signing process.
|
||||
|
||||
#### <a id="as_v1_s">Preparation of signing session:
|
||||
1. Boot and log in to offline signing machine
|
||||
1. Set up autosigning session ([`mmgen-autosign setup`][as])
|
||||
1. Start signing loop ([`mmgen-autosign wait`][as])
|
||||
|
||||
#### Transacting:
|
||||
1. On online machine, create transaction with [`mmgen-txcreate`][tc] (or [`mmgen-swaptxcreate`][sc])
|
||||
1. Insert removable device
|
||||
1. Mount removable device
|
||||
1. Copy transaction file to `/mnt/mmgen_autosign/tx` on removable device
|
||||
1. Unmount removable device
|
||||
1. Extract removable device and transfer it to offline machine
|
||||
1. Wait for [autosigning][as] to complete
|
||||
1. Extract removable device and transfer it to online machine
|
||||
1. Mount removable device
|
||||
1. Locate signed transaction file on removable device, send it with [`mmgen-txsend`][tx]
|
||||
|
||||
#### Differences compared to manual method:
|
||||
|
||||
- signing session preparation involves additional steps
|
||||
- signing requires no keyboard interaction
|
||||
|
||||
While this is already much better, there was still room for improvement.
|
||||
Enter Version 2 Autosigning.
|
||||
|
||||
## <a id="as_v2">Autosigning, Version 2</a>
|
||||
|
||||
Here the main innovation was to automate all mounting, unmounting, and file
|
||||
copying operations. Version 2 autosigning is sometimes referred to in program
|
||||
output by the term “automount”.
|
||||
|
||||
#### Preparation of signing session:
|
||||
1. Same as for [Version 1](#as_v1_s)
|
||||
|
||||
#### Transacting:
|
||||
1. On online machine, insert removable device
|
||||
1. Create transaction with [`mmgen-txcreate`][tc] (or [`mmgen-swaptxcreate`][sc])
|
||||
1. Extract removable device and transfer it to offline machine
|
||||
1. Wait for [autosigning][as] to complete
|
||||
1. Extract removable device and transfer it to online machine
|
||||
1. Send transaction with [`mmgen-txsend`][tx]
|
||||
|
||||
#### Differences compared to Version 1:
|
||||
- filename arguments are omitted from all commands
|
||||
- for online operations, the `--autosign` option must be supplied, or
|
||||
`autosign` set to `true` in the config file
|
||||
- only one transaction may be created-signed-sent at a time (Version 1 allows
|
||||
for multiple signables per signing operation)
|
||||
- unsent transactions may be aborted and ranges of sent transactions viewed or
|
||||
checked for confirmation status (see [`mmgen-txsend --help`][tx])
|
||||
|
||||
[tc]: cmds/command-help-txcreate.md
|
||||
[ts]: cmds/command-help-txsign.md
|
||||
[tx]: cmds/command-help-txsend.md
|
||||
[sc]: cmds/command-help-swaptxcreate.md
|
||||
[as]: cmds/command-help-autosign.md
|
||||
|
|
@ -48,8 +48,9 @@ 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, RUNE and XMR as of
|
||||
this writing). See [Altcoin-and-Forkcoin-Support][09] for more details.
|
||||
Wallet supports transaction operations (BCH, LTC, ETH, ETC, ERC20 tokens, RUNE
|
||||
and XMR as of this writing). See [**Altcoin-and-Forkcoin-Support**][09] for
|
||||
more details.
|
||||
|
||||
#### <a id="a_iv">Invocation</a>
|
||||
|
||||
|
|
@ -170,9 +171,10 @@ overestimated.
|
|||
|
||||
### <a id="a_tr">Transacting</a>
|
||||
|
||||
*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.*
|
||||
*Transacting is supported for BTC, BCH, LTC, ETH, ETC, ERC20 tokens, RUNE and
|
||||
XMR. The description below applies to BTC, BCH and LTC. For other coins, there
|
||||
are important differences: consult [**Altcoin-and-Forkcoin-Support**][09] for
|
||||
details.*
|
||||
|
||||
#### <a id="a_ga">Generate addresses (offline computer)</a>
|
||||
|
||||
|
|
@ -337,6 +339,15 @@ TOTAL: 1 BTC
|
|||
|
||||
#### <a id="a_ct">Create a transaction (online computer)</a>
|
||||
|
||||
*The following decribes the old, manual way of transacting with MMGen Wallet.
|
||||
Instead, you should consider setting up [transaction autosigning][ax] on your
|
||||
offline machine, which will greatly simplify the transacting process. For
|
||||
optimal user experience, the offline signing device should be a Raspberry Pi
|
||||
or other single-board computer for which LED signaling support is provided.*
|
||||
|
||||
*The [**Autosigning**][ax] wiki page outlines the differences between the manual
|
||||
and autosigning methods of transacting.*
|
||||
|
||||
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
|
||||
|
|
@ -476,6 +487,17 @@ Network: BTC MAINNET
|
|||
4) 123c.. 6 3PeI55vtp2bX2uKDkAAR2c6e.. 89ABCDEF:S:5 0.0999 7
|
||||
```
|
||||
|
||||
Note that all tracking wallet views support the --scroll option, which provides
|
||||
a curses-like scrolling interface that greatly improves the user experience when
|
||||
there’s more than a screenful of lines to display. The option may also be set
|
||||
in the configuration file.
|
||||
|
||||
```text
|
||||
$ mmgen-txcreate --scroll --info
|
||||
$ mmgen-tool --scroll twview
|
||||
$ mmgen-tool --scroll listaddresses
|
||||
```
|
||||
|
||||
Since you’ve sent 0.1 BTC to a third party, your balance has decreased by 0.1
|
||||
BTC plus the transaction fee of 0.0001 BTC.
|
||||
|
||||
|
|
@ -849,18 +871,12 @@ Signed transaction written to file 'ABCDEF[0.1].sigtx'
|
|||
|
||||
#### <a id="a_hw">Hot wallets</a>
|
||||
|
||||
*Instead of using a hot wallet, you should consider setting up [transaction
|
||||
autosigning][07] on your offline machine. Autosigning makes it possible to
|
||||
transact directly from cold storage in a secure and convenient way. Ideally,
|
||||
your autosigning device should be a Raspberry Pi or other single-board computer
|
||||
for which MMGen Wallet provides LED support. However, an old laptop running
|
||||
Linux or macOS will also suffice, provided its network interfaces are removed
|
||||
or disabled.*
|
||||
For greater transacting convenience, it’s possible to place a small portion of
|
||||
your funds in a “hot wallet” on your online computer. You may then use the
|
||||
`mmgen-txdo` command to quickly create, sign and send transactions in one
|
||||
operation.
|
||||
|
||||
To use MMGen Wallet for not only cold storage but also day-to-day transacting,
|
||||
it’s possible to place a portion of your funds in a “hot wallet” on your online
|
||||
computer. You may then use the `mmgen-txdo` command to quickly create, sign and
|
||||
send transactions in one operation.
|
||||
It’s recommended to entrust only very small sums to the hot wallet.
|
||||
|
||||
*Note: prior to Version 0.11.0, MMGen Wallet implemented hot wallets using
|
||||
[key-address files][05], but these have now been obsoleted by [subwallets][06].
|
||||
|
|
@ -1124,11 +1140,10 @@ $ python3 -m pip install user --upgrade dist/*.whl
|
|||
[04]: MMGen-Wallet-Quick-Start-with-Regtest-Mode.md
|
||||
[05]: Key-address-files.md
|
||||
[06]: Subwallets.md
|
||||
[07]: cmds/command-help-autosign.md
|
||||
[08]: Install-Bitcoind.md
|
||||
[09]: Altcoin-and-Forkcoin-Support.md
|
||||
[x]: Altcoin-and-Forkcoin-Support.md#a_xmr
|
||||
[cp]: ../../../../commits/master
|
||||
[mx]: cmds/command-help-xmrwallet.md
|
||||
[li]: Install-MMGen-Wallet-on-Linux-or-macOS.md
|
||||
[wi]: Install-MMGen-Wallet-on-Microsoft-Windows.md
|
||||
[ax]: Autosigning.md
|
||||
|
|
|
|||
|
|
@ -437,7 +437,7 @@ Offline upgrade:
|
|||
[ib]: Install-Bitcoind.md
|
||||
[gs]: Getting-Started-with-MMGen-Wallet.md
|
||||
[pl]: Altcoin-and-Forkcoin-Support.md#a_ed
|
||||
[ax]: cmds/command-help-autosign.md
|
||||
[ax]: Autosigning.md
|
||||
[mc]: Altcoin-and-Forkcoin-Support.md#a_xmr
|
||||
[ts]: Test-Suite.md
|
||||
[vv]: https://docs.python.org/3/library/venv.html
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue