|
@@ -86,17 +86,16 @@ generation, wallet format conversion, address and key generation, and address
|
|
|
import operations on an offline computer with no blockchain and no bitcoin
|
|
|
balance.
|
|
|
|
|
|
-If you want to practice creating, signing and sending transactions, however, as
|
|
|
-well as tracking balances, you'll need a fully synced blockchain and some actual
|
|
|
-coins to play with. To avoid risking real funds, it's *highly recommended* to
|
|
|
-practice transaction operations using **Bob and Alice regtest mode** until you
|
|
|
-feel confident you know what you're doing.
|
|
|
-
|
|
|
-A convenient frontend for bitcoind's regression test mode, MMGen's Bob and Alice
|
|
|
-mode creates a private blockchain and a virtual network of two users who can
|
|
|
-send bitcoins to each other. All of MMGen's functionality is available in this
|
|
|
-mode, making it an ideal, risk-free way to acquaint yourself with the wallet's
|
|
|
-features. Refer to [MMGen Quick Start with Regtest Mode][06] to get started.
|
|
|
+If you want to practice creating, signing and sending transactions with real
|
|
|
+bitcoins, however, you'll need a fully synced blockchain and some actual coins
|
|
|
+to play with.
|
|
|
+
|
|
|
+Fortunately, there's an alternative: MMGen's **regtest mode** feature creates a
|
|
|
+virtual network of two users, Bob and Alice, who transact with each other on a
|
|
|
+private blockchain. All of MMGen's functionality is available in regtest mode,
|
|
|
+making it an ideal way to learn to use the MMGen wallet without risking real
|
|
|
+coins. You may wish to pause here and perform the steps in the tutorial [MMGen
|
|
|
+Quick Start with Regtest Mode][06] before continuing on.
|
|
|
|
|
|
### <a name='a_bo'>Basic Operations</a>
|
|
|
|
|
@@ -143,54 +142,63 @@ printed out on paper.
|
|
|
|
|
|
Another highly recommended way to back up your wallet is to generate a mnemonic
|
|
|
or seed file <a href='#a_ms'>as described below </a> and memorize it. If you
|
|
|
-have an average or better memory, you'll find memorizing mnemonics to be
|
|
|
+have an average or better memory, you'll find memorizing your mnemonic to be
|
|
|
surprisingly easy.
|
|
|
|
|
|
#### <a name='a_ga'>Generate addresses (offline computer)</a>
|
|
|
|
|
|
-Now generate ten addresses with your just-created wallet:
|
|
|
+Now generate ten Segwit addresses with your just-created wallet:
|
|
|
|
|
|
- $ mmgen-addrgen 1-10
|
|
|
+ $ mmgen-addrgen --type=segwit 1-10
|
|
|
...
|
|
|
- Addresses written to file '89ABCDEF[1-10].addrs'
|
|
|
+ Addresses written to file '89ABCDEF-S[1-10].addrs'
|
|
|
|
|
|
- $ cat '89ABCDEF[1-10].addrs'
|
|
|
- 89ABCDEF {
|
|
|
- 1 16bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE
|
|
|
- 2 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc
|
|
|
- 3 1HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N
|
|
|
- 4 14Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s
|
|
|
- 5 1PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7
|
|
|
- 6 1FEqfEsSILwXPfMvVvVuUovzTaaST62Mnf
|
|
|
- 7 1LTTzuhMqPLwQ4IGCwwugny6ZMtUQJSJ1
|
|
|
- 8 1F9495H8EJLb54wirgZkVgI47SP7M2RQWv
|
|
|
- 9 1JbrCyt7BdxRE9GX1N7GiEct8UnIjPmpYd
|
|
|
- 10 1H7vVTk4ejUbQXw45I6g5qvPBSe9bsjDqh
|
|
|
+ $ cat '89ABCDEF-S[1-10].addrs'
|
|
|
+ 89ABCDEF SEGWIT {
|
|
|
+ 1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE
|
|
|
+ 2 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc
|
|
|
+ 3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N
|
|
|
+ 4 34Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s
|
|
|
+ 5 3PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7
|
|
|
+ 6 3FEqfEsSILwXPfMvVvVuUovzTaaST62Mnf
|
|
|
+ 7 3LTTzuhMqPLwQ4IGCwwugny6ZMtUQJSJ1
|
|
|
+ 8 3F9495H8EJLb54wirgZkVgI47SP7M2RQWv
|
|
|
+ 9 3JbrCyt7BdxRE9GX1N7GiEct8UnIjPmpYd
|
|
|
+ 10 3H7vVTk4ejUbQXw45I6g5qvPBSe9bsjDqh
|
|
|
}
|
|
|
|
|
|
Note that the address range ‘1-10’ specified on the command line is included in
|
|
|
the resulting filename.
|
|
|
|
|
|
-NOTE: MMGen supports Segwit addresses as of version 0.9.2 and compressed P2PKH
|
|
|
-addresses as of version 0.9.3. To generate Segwit or compressed addresses, add
|
|
|
-`--type=segwit` or `--type=compressed` to the command line. Segwit and
|
|
|
-compressed address files are distinguished from Legacy ones by an added ‘-S’ and
|
|
|
-‘-C’ in the filenames:
|
|
|
+MMGen currently supports three address types: legacy uncompressed, compressed
|
|
|
+P2PKH and Segwit, denoted by the respective code letters ‘L’, ‘C’ and ‘S’. For
|
|
|
+backwards compatibility, legacy addresses are generated by default. To generate
|
|
|
+compressed addresses, specify `--type=compressed` on the command line.
|
|
|
|
|
|
- $ mmgen-addrgen --type segwit 1-10
|
|
|
+Legacy addresses are of interest only for existing pre-Segwit MMGen
|
|
|
+installations, so it's unlikely you'll wish to generate them. Compressed
|
|
|
+addresses are the preferable choice for Bitcoin Cash (BCH) wallets, since
|
|
|
+Bitcoin Cash doesn't support Segwit.
|
|
|
+
|
|
|
+ # legacy uncompressed
|
|
|
+ $ mmgen-addrgen 1-10
|
|
|
...
|
|
|
- $ cat '89ABCDEF-S[1-10].addrs'
|
|
|
- 89ABCDEF SEGWIT {
|
|
|
- 1 32GiSWo9zIQgkCmjAaLIrbPwXhKry2jHhj
|
|
|
+ $ cat '89ABCDEF[1-10].addrs'
|
|
|
+ 89ABCDEF {
|
|
|
+ 1 12GiSWo9zIQgkCmjAaLIrbPwXhKry2jHhj
|
|
|
...
|
|
|
|
|
|
- $ mmgen-addrgen --type compressed 1-10
|
|
|
+ # compressed P2PKH
|
|
|
+ $ mmgen-addrgen --type=compressed 1-10
|
|
|
...
|
|
|
$ cat '89ABCDEF-C[1-10].addrs'
|
|
|
89ABCDEF COMPRESSED {
|
|
|
1 13jbRxWjswXtaDzLBJDboMcIe6nLohFb9M
|
|
|
...
|
|
|
|
|
|
+Note that for non-legacy address types the code letter is present in the
|
|
|
+filename.
|
|
|
+
|
|
|
To fund your MMGen wallet, first import the addresses into your tracking wallet
|
|
|
and then spend some BTC into any of them. If you run out of addresses, generate
|
|
|
more. To generate a hundred addresses, for example, you’d specify an address
|
|
@@ -204,7 +212,7 @@ provide the addresses with labels. We’ll use the labels ‘Donations’, ‘S
|
|
|
|
|
|
Make a copy of the address file
|
|
|
|
|
|
- $ cp '89ABCDEF[1-10].addrs' my.addrs
|
|
|
+ $ cp '89ABCDEF-S[1-10].addrs' my.addrs
|
|
|
|
|
|
and edit it using the text editor of your choice,
|
|
|
|
|
@@ -213,17 +221,17 @@ and edit it using the text editor of your choice,
|
|
|
adding labels to the addresses you’ve chosen to spend to:
|
|
|
|
|
|
# My first MMGen addresses
|
|
|
- 89ABCDEF {
|
|
|
- 1 16bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations
|
|
|
- 2 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc Storage 1
|
|
|
- 3 1HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2
|
|
|
- 4 14Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s Storage 3
|
|
|
- 5 1PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7
|
|
|
- 6 1FEqfEsSILwXPfMvVvVuUovzTaaST62Mnf
|
|
|
- 7 1LTTzuhMqPLwQ4IGCwwugny6ZMtUQJSJ1
|
|
|
- 8 1F9495H8EJLb54wirgZkVgI47SP7M2RQWv
|
|
|
- 9 1JbrCyt7BdxRE9GX1N7GiEct8UnIjPmpYd
|
|
|
- 10 1H7vVTk4ejUbQXw45I6g5qvPBSe9bsjDqh
|
|
|
+ 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
|
|
@@ -247,11 +255,11 @@ empty balances).
|
|
|
|
|
|
$ mmgen-tool listaddresses showempty=1
|
|
|
MMGenID ADDRESS COMMENT BALANCE
|
|
|
- 89ABCDEF:L:1 16bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations 0
|
|
|
- 89ABCDEF:L:2 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc Storage 1 0
|
|
|
- 89ABCDEF:L:3 1HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2 0
|
|
|
- 89ABCDEF:L:4 14Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s Storage 3 0
|
|
|
- 89ABCDEF:L:5 1PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7 0
|
|
|
+ 89ABCDEF:S:1 36bNmyYISiptuvJG3X7MPwiiS4HYvD7ksE Donations 0
|
|
|
+ 89ABCDEF:S:2 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc Storage 1 0
|
|
|
+ 89ABCDEF:S:3 3HgYCsfqYzIg7LVVfDTp7gYJocJEiDAy6N Storage 2 0
|
|
|
+ 89ABCDEF:S:4 34Tu3z1tiexXDonNsFIkvzqutE5E3pTK8s Storage 3 0
|
|
|
+ 89ABCDEF:S:5 3PeI55vtp2bX2uKDkAAR2c6ekHNYe4Hcq7 0
|
|
|
...
|
|
|
TOTAL: 0 BTC
|
|
|
|
|
@@ -262,10 +270,9 @@ through the network. To use it, you must save the keys corresponding to the
|
|
|
addresses where the funds are stored in a separate file to use during signing.*
|
|
|
|
|
|
Note that each address has a unique ID (the ‘MMGen ID’) consisting of its Seed
|
|
|
-ID, its address type (‘L’ for Legacy, ‘S’ for Segwit and ‘C’ for Compressed),
|
|
|
-and its number (index). Addresses of different types may be imported into the
|
|
|
-same tracking wallet; since they're generated from different sub-seeds you
|
|
|
-needn't worry about key reuse.
|
|
|
+ID, its address type code letter and its index. Addresses of different types
|
|
|
+may be imported into the same tracking wallet; since they're generated from
|
|
|
+different sub-seeds you needn't worry about key reuse.
|
|
|
|
|
|
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
|
|
@@ -274,10 +281,10 @@ have confirmed:
|
|
|
|
|
|
$ mmgen-tool listaddresses
|
|
|
MMGenID COMMENT BALANCE
|
|
|
- 89ABCDEF:L:1 Donations 0.1
|
|
|
- 89ABCDEF:L:2 Storage 1 0.2
|
|
|
- 89ABCDEF:L:3 Storage 2 0.3
|
|
|
- 89ABCDEF:L:4 Storage 3 0.4
|
|
|
+ 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
|
|
|
TOTAL: 1 BTC
|
|
|
|
|
|
#### <a name='a_ct'>Create a transaction (online computer)</a>
|
|
@@ -289,29 +296,28 @@ 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.
|
|
|
|
|
|
-To send 0.1 BTC to the a third-party address 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,
|
|
|
-for example, and send the change back to yourself at address 89ABCDEF:5, you’d
|
|
|
+To send 0.1 BTC to the a third-party address 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,
|
|
|
+for example, and send the change back to yourself at address 89ABCDEF:S:5, you’d
|
|
|
issue the following command:
|
|
|
|
|
|
- $ mmgen-txcreate 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 89ABCDEF:5
|
|
|
+ $ mmgen-txcreate 3AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 89ABCDEF:S:5
|
|
|
|
|
|
-Note that 'mmgen-txcreate' accepts either MMGen IDs or Bitcoin addresses as
|
|
|
-arguments.
|
|
|
+'mmgen-txcreate' accepts either MMGen IDs or Bitcoin addresses as arguments.
|
|
|
|
|
|
-IMPORTANT NOTE: For the time being, Legacy addresses are the default, so
|
|
|
-address ‘89ABCDEF:5’ is equivalent to ‘89ABCDEF:L:5’. In the future, users may
|
|
|
-be given the option to make Segwit (for BTC) or Compressed (for BCH) addresses
|
|
|
-the default.
|
|
|
+NOTE: For backwards compatibility, the code letter may be omitted from the MMGen
|
|
|
+ID for legacy addresses. Thus address ‘89ABCDEF:L:5’, for example, may be
|
|
|
+expressed as ‘89ABCDEF:5’. For other address types the code letter is
|
|
|
+mandatory.
|
|
|
|
|
|
-To send 0.1 BTC to each of your addresses 89ABCDEF:6 and 89ABCDEF:7 and return the
|
|
|
-change to 89ABCDEF:8, you’d do this:
|
|
|
+To send 0.1 BTC to each of addresses 89ABCDEF:S:6 and 89ABCDEF:S:7 and return
|
|
|
+the change to 89ABCDEF:S:8, you’d do this:
|
|
|
|
|
|
- $ mmgen-txcreate 89ABCDEF:6,0.1 89ABCDEF:7,0.1 89ABCDEF:8
|
|
|
+ $ mmgen-txcreate 89ABCDEF:S:6,0.1 89ABCDEF:S:7,0.1 89ABCDEF:S:8
|
|
|
|
|
|
As you can see, each send address is followed by a comma and the amount. The
|
|
|
address with no amount is the change address. All addresses belonging to your
|
|
|
seed in the above examples are already imported and tracked, so you’re OK. If
|
|
|
-you wanted to send to 89ABCDEF:11 instead, you'd have to import it first.
|
|
|
+you wanted to send to 89ABCDEF:S:11 instead, you'd have to import it first.
|
|
|
|
|
|
|
|
|
Let’s go with the first of our two examples above.
|
|
@@ -324,10 +330,10 @@ will look something like this:
|
|
|
|
|
|
UNSPENT OUTPUTS (sort order: Age) Total BTC: 1
|
|
|
Num TX id Vout Address Amt(BTC) Age(d)
|
|
|
- 1) e9742b16... 5 1L3kxmi.. 89ABCDEF:L:1 Donations 0.1 1
|
|
|
- 2) fa84d709... 6 1N4dSGj.. 89ABCDEF:L:2 Storage 1 0.2 1
|
|
|
- 3) 8dde8ef5... 6 1M1fVDc.. 89ABCDEF:L:3 Storage 1 0.3 1
|
|
|
- 4) c76874c7... 0 1E8MFoC.. 89ABCDEF:L:4 Storage 3 0.4 1
|
|
|
+ 1) e9742b16... 5 3L3kxmi.. 89ABCDEF:S:1 Donations 0.1 1
|
|
|
+ 2) fa84d709... 6 3N4dSGj.. 89ABCDEF:S:2 Storage 1 0.2 1
|
|
|
+ 3) 8dde8ef5... 6 3M1fVDc.. 89ABCDEF:S:3 Storage 1 0.3 1
|
|
|
+ 4) c76874c7... 0 3E8MFoC.. 89ABCDEF:S:4 Storage 3 0.4 1
|
|
|
|
|
|
Sort options: [t]xid, [a]mount, a[d]dress, [A]ge, [r]everse, [M]mgen addr
|
|
|
Display options: show [D]ays, [g]roup, show [m]mgen addr, r[e]draw screen
|
|
@@ -365,9 +371,9 @@ Note that the signed transaction file has a new extension, '.sigtx'.
|
|
|
#### <a name='a_st'>Send a transaction (online computer)</a>
|
|
|
|
|
|
Now you’re ready for the final step: broadcasting the transaction to the
|
|
|
-network. Copy the signed transaction file to your online computer, start
|
|
|
-bitcoind if necessary, make sure your blockchain is up-to-date and issue the
|
|
|
-command:
|
|
|
+network. Start bitcoind if it's not already running, and make sure your
|
|
|
+blockchain is fully synced. Then copy the signed transaction file to your
|
|
|
+online computer and issue the command:
|
|
|
|
|
|
$ mmgen-txsend FEDCBA[0.1].sigtx
|
|
|
...
|
|
@@ -383,10 +389,10 @@ listing should look something like this:
|
|
|
|
|
|
$ mmgen-tool listaddresses minconf=1
|
|
|
MMGenID COMMENT BALANCE
|
|
|
- 89ABCDEF:L:1 Donations 0.1
|
|
|
- 89ABCDEF:L:3 Storage 2 0.3
|
|
|
- 89ABCDEF:L:4 Storage 3 0.4
|
|
|
- 89ABCDEF:L:5 Storage 1 0.0999
|
|
|
+ 89ABCDEF:S:1 Donations 0.1
|
|
|
+ 89ABCDEF:S:3 Storage 2 0.3
|
|
|
+ 89ABCDEF:S:4 Storage 3 0.4
|
|
|
+ 89ABCDEF:S:5 Storage 1 0.0999
|
|
|
TOTAL: 0.8999 BTC
|
|
|
|
|
|
Since you’ve sent 0.1 BTC to a third party, your balance has declined by 0.1 BTC
|
|
@@ -427,9 +433,9 @@ The mnemonic is a complete representation of your seed and may be used anywhere
|
|
|
where you’d use an MMGen wallet. You can generate addresses with it just as you
|
|
|
do with a wallet:
|
|
|
|
|
|
- $ mmgen-addrgen 89ABCDEF.mmwords 1-10
|
|
|
+ $ mmgen-addrgen --type=segwit 89ABCDEF.mmwords 1-10
|
|
|
...
|
|
|
- Address data written to file '89ABCDEF[1-10].addrs'
|
|
|
+ Address data written to file '89ABCDEF-S[1-10].addrs'
|
|
|
|
|
|
You can use it to sign transactions:
|
|
|
|
|
@@ -592,10 +598,10 @@ the wrong hands.
|
|
|
Your incognito wallet (whether hex or binary) can be used just like any other
|
|
|
MMGen wallet, mnemonic or seed file to generate addresses and sign transactions:
|
|
|
|
|
|
- $ mmgen-addrgen 89ABCDEF-87654321-CA86420E[256,5].mmincox 101-110
|
|
|
+ $ mmgen-addrgen --type=segwit 89ABCDEF-87654321-CA86420E[256,5].mmincox 101-110
|
|
|
...
|
|
|
Generated 10 addresses
|
|
|
- Addresses written to file '89ABCDEF[101-110].addrs'
|
|
|
+ Addresses written to file '89ABCDEF-S[101-110].addrs'
|
|
|
|
|
|
$ mmgen-txsign FABCDE[0.3].rawtx 89ABCDEF-87654321-CA86420E[256,5].mmincox
|
|
|
...
|
|
@@ -676,9 +682,9 @@ well as addresses, thus functioning as a hot wallet for a range of addresses.
|
|
|
Assuming your hot address range begins at 1001, you could start by creating a
|
|
|
key-address file for a hundred hot addresses like this:
|
|
|
|
|
|
- $ mmgen-keygen 1001-1100
|
|
|
+ $ mmgen-keygen --type=segwit 1001-1100
|
|
|
...
|
|
|
- Secret keys written to file '89ABCDEF[1001-1100].akeys.mmenc'
|
|
|
+ Secret keys written to file '89ABCDEF-S[1001-1100].akeys.mmenc'
|
|
|
|
|
|
`mmgen-keygen` prompts you for a password to encrypt the key-address file with.
|
|
|
This is a wise precaution, as it provides at least some security for keys that
|
|
@@ -687,25 +693,25 @@ will be stored on an online machine.
|
|
|
Now copy the key-address file to your online machine and import the addresses
|
|
|
into your tracking wallet:
|
|
|
|
|
|
- $ mmgen-addrimport --batch --keyaddr-file '89ABCDEF[1001-1100].akeys.mmenc'
|
|
|
+ $ mmgen-addrimport --batch --keyaddr-file '89ABCDEF-S[1001-1100].akeys.mmenc'
|
|
|
|
|
|
After funding your hot wallet by spending into some addresses in this range you
|
|
|
can do quickie transactions with these funds using the `mmgen-txdo` command:
|
|
|
|
|
|
- $ mmgen-txdo -M '89ABCDEF[1001-1100].akeys.mmenc' 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 89ABCDEF:1010
|
|
|
+ $ mmgen-txdo -M '89ABCDEF-S[1001-1100].akeys.mmenc' 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 89ABCDEF:S:1010
|
|
|
...
|
|
|
Transaction sent: dcea1357....
|
|
|
|
|
|
The `--mmgen-keys-from-file` or `-M` option is required when using a key-address
|
|
|
-file in place of a default wallet. Note that your change address 89ABCDEF:1010
|
|
|
-is within the range covered by the key-address file, so your change funds will
|
|
|
-remain “hot spendable”.
|
|
|
+file in place of a default wallet. Note that your change address
|
|
|
+89ABCDEF:S:1010 is within the range covered by the key-address file, so your
|
|
|
+change funds will remain “hot spendable”.
|
|
|
|
|
|
Using `mmgen-txdo` with a default online hot wallet is even simpler. For a hot
|
|
|
wallet with Seed ID 0FDE89AB, for instance, creating and sending a transaction
|
|
|
-looks like this:
|
|
|
+would look like this:
|
|
|
|
|
|
- $ mmgen-txdo 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 0FDE89AB:10
|
|
|
+ $ mmgen-txdo 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 0FDE89AB:S:10
|
|
|
|
|
|
|
|
|
#### <a name='a_fee'>Transaction Fees</a>
|
|
@@ -757,7 +763,7 @@ incrementally increasing fees will created online and then signed offline.
|
|
|
Create, sign and send a BIP 125 replaceable transaction with a fee of 50
|
|
|
satoshis per byte:
|
|
|
|
|
|
- $ mmgen-txdo --rbf --tx-fee 50s 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 0FDE89AB:5
|
|
|
+ $ mmgen-txdo --rbf --tx-fee 50s 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 0FDE89AB:S:5
|
|
|
...
|
|
|
Signed transaction written to file 'FEDCBB[0.1,50].sigtx'
|
|
|
...
|
|
@@ -799,7 +805,7 @@ you'll need to supply it on the command line as a parameter to the `-M` option.
|
|
|
To achieve the same result as in the above example using a cold wallet, just
|
|
|
create the initial transaction with `mmgen-txcreate` instead of `mmgen-txdo`:
|
|
|
|
|
|
- $ mmgen-txcreate --rbf --tx-fee 50s 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 89ABCDEF:5
|
|
|
+ $ mmgen-txcreate --rbf --tx-fee 50s 1AmkUxrfy5dMrfmeYwTxLxfIswUCcpeysc,0.1 89ABCDEF:S:5
|
|
|
...
|
|
|
Transaction written to file 'FEDCBC[0.1,50].rawtx'
|
|
|
|
|
@@ -834,7 +840,7 @@ them in turn until you get a confirmation:
|
|
|
|
|
|
[01]: https://github.com/mmgen/mmgen/wiki/Tracking-and-spending-ordinary-Bitcoin-addresses
|
|
|
[02]: https://tpfaucet.appspot.com
|
|
|
-[03]: Recovering-Keys-Without-MMGen
|
|
|
+[03]: Recovering-Your-Keys-Without-the-MMGen-Software
|
|
|
[04]: https://bitcoin.org/en/developer-examples#testnet
|
|
|
[05]: https://bitcoin.org/en/developer-examples#regtest-mode
|
|
|
[06]: https://github.com/mmgen/mmgen/wiki/MMGen-Quick-Start-with-Regtest-Mode
|