modified: Getting-Started-with-MMGen.md
parent
842f27913f
commit
1bff71d43d
1 changed files with 28 additions and 29 deletions
|
|
@ -33,7 +33,7 @@ generated by this seed. The Key ID changes when the wallet's password or hash
|
|||
preset are changed.
|
||||
|
||||
"256" is the seed length; "3" is the scrypt hash preset. These values are
|
||||
configurable: type `mmgen-walletgen --help` for details.
|
||||
configurable: type 'mmgen-walletgen --help' for details.
|
||||
|
||||
#### <a name=03>Generate addresses (offline computer):</a>
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ will show up in your listing of unspent outputs.
|
|||
|
||||
If you have any existing addresses with balances, you'll want to track them too.
|
||||
Make a plain list of these addresses, one address per line, and import the list
|
||||
into the tracking wallet using `mmgen-addrimport -l`.
|
||||
into the tracking wallet using 'mmgen-addrimport -l'.
|
||||
|
||||
$ mmgen-addrimport --rescan -l my_existing_addrs_with_balances
|
||||
|
||||
|
|
@ -248,7 +248,7 @@ using the seed.
|
|||
#### <a name=07>Send a transaction (online computer):</a>
|
||||
|
||||
Now you're ready for the final step: broadcasting the transaction to the network.
|
||||
Copy the `tx_*.sig` file to your online computer, start bitcoind, if it's not
|
||||
Copy the 'tx_*.sig' file to your online computer, start bitcoind, if it's not
|
||||
running, and execute the command:
|
||||
|
||||
$ mmgen-txsend tx_1EDCBA[6.6].sig
|
||||
|
|
@ -257,7 +257,7 @@ Like all mmgen commands, 'mmgen-txsend' is interactive, so you'll be asked for
|
|||
confirmation before the transaction is actually sent.
|
||||
|
||||
Once the transaction's confirmed by the network, your three new MMGen addresses
|
||||
will appear on the listing of `mmgen-txcreate -i`. Type 'm' at the menu to
|
||||
will appear on the listing of 'mmgen-txcreate -i'. Type 'm' at the menu to
|
||||
see them displayed in MMGen format.
|
||||
|
||||
Congratulations! You've performed your first MMGen transaction and placed your
|
||||
|
|
@ -308,7 +308,7 @@ Regenerate a lost wallet using the mnemonic:
|
|||
Note that the regenerated wallet has a different Key ID but of course the same
|
||||
Seed ID.
|
||||
|
||||
Seed files bear the extension `.mmseed` and are listed on the command line the
|
||||
Seed files bear the extension '.mmseed' and are listed on the command line the
|
||||
same way mnemonic files are.
|
||||
|
||||
A seed file for a 256-bit seed looks like this:
|
||||
|
|
@ -346,7 +346,7 @@ private data to the screen unless explicitly asked to.
|
|||
|
||||
The output of any MMGen command may be written to a directory of your choice
|
||||
using the '-d' option. For example, on a Linux system you can use
|
||||
`'-d /dev/shm'` to write key and seed data to volatile memory instead of disk.
|
||||
'-d /dev/shm' to write key and seed data to volatile memory instead of disk.
|
||||
This also has obvious security benefits, ensuring that no sensitive data
|
||||
remains on disk after your computer's been powered down.
|
||||
|
||||
|
|
@ -376,7 +376,7 @@ These can be changed using the 'mmgen-passchg' utility:
|
|||
Wallet saved to file '89ABCDEF-87654321[256,5].mmdat'
|
||||
|
||||
The new scrypt preset is indicated by the numeral '5' after the comma in the new
|
||||
wallet filename. Now export your new toughened wallet to incognito format:
|
||||
wallet filename. Now export your new strengthened wallet to incognito format:
|
||||
|
||||
$ mmgen-walletchk -g 89ABCDEF-87654321[256,5].mmdat
|
||||
...
|
||||
|
|
@ -384,7 +384,7 @@ wallet filename. Now export your new toughened wallet to incognito format:
|
|||
|
||||
'ECA86420' is the Incog ID. This can be used by the 'mmgen-tool' utility to
|
||||
search through a file or partition and locate your wallet if you've forgotten
|
||||
where you hid it.
|
||||
where you hid it (see below).
|
||||
|
||||
Repeat the same export operation, but output to hexadecimal:
|
||||
|
||||
|
|
@ -399,18 +399,15 @@ Repeat the same export operation, but output to hexadecimal:
|
|||
b43a 21f9 82c7 6bd1 fe96 bad9 2d54 c4c0
|
||||
|
||||
Note that the Incog ID is different here: it's generated from the init vector,
|
||||
which is a different random number each time, which makes the incog data as a
|
||||
whole different as well. This allows you to store your incog data in multiple
|
||||
insecure locations without repeated data being detected.
|
||||
which is a different random number each time, making the incog data as a whole
|
||||
different as well. This allows you to store your incog data in multiple
|
||||
insecure locations without having repeated "random" wallet data give you away.
|
||||
|
||||
As you can see, this data is ideally suited for a paper wallet. Just print it
|
||||
out on a printer and you're ready to go. To an outside observer, the data
|
||||
appears to be random, and it's totally unidentifiable as anything related to
|
||||
Bitcoin.
|
||||
out on a printer and you're ready to go.
|
||||
|
||||
Your incognito wallet (whether hex or binary) can be used just like any other
|
||||
MMGen wallet, mnemonic or seed file. You can generate addresses with it
|
||||
directly, for example:
|
||||
MMGen wallet, mnemonic or seed file. Generate addresses with it like this:
|
||||
|
||||
$ mmgen-addrgen 89ABCDEF-87654321-CA86420E[256,5].mmincox 100-110
|
||||
...
|
||||
|
|
@ -418,15 +415,16 @@ directly, for example:
|
|||
Addresses written to file '89ABCDEF[100-110].addrs'
|
||||
|
||||
|
||||
Or sign a transaction:
|
||||
Or sign a transaction like this:
|
||||
|
||||
$ mmgen-txsign tx_FABCDE[0.3].raw 89ABCDEF-87654321-CA86420E[256,5].mmincox
|
||||
...
|
||||
Signed transaction saved to file tx_FABCDE[0.3].sig
|
||||
|
||||
With the `-G` (`--export-incog-hidden`) option, you can create a **hidden
|
||||
incognito wallet**, i. e. an incognito wallet hidden at a specified offset
|
||||
in a file or partition. Create a file filled with 1 GB of random data:
|
||||
You can create an incognito wallet and hide it at a specified offset in a file or
|
||||
partition in one convenient operation using the '-G' ('--export-incog-hidden')
|
||||
option. Here's how you'd hide a wallet in a 1GB file filled with random data.
|
||||
First create the random file:
|
||||
|
||||
$ dd if=/dev/urandom of=random.dat bs=1K count=1M
|
||||
|
||||
|
|
@ -435,8 +433,8 @@ entropy and a progress meter:
|
|||
|
||||
$ mmgen-tool -r40 rand2file random.dat 1G
|
||||
|
||||
Export your wallet to incog format, hiding it in the 1GB random file at offset
|
||||
123456789:
|
||||
Now export your wallet to hidden incognito format, hiding it in this 1GB random
|
||||
file at offset 123456789:
|
||||
|
||||
$ mmgen-walletchk -G random.dat,123456789 89ABCDEF-87654321[256,5].mmdat
|
||||
...
|
||||
|
|
@ -444,27 +442,28 @@ Export your wallet to incog format, hiding it in the 1GB random file at offset
|
|||
Data written to file 'random.dat' at offset 123456789
|
||||
|
||||
The altered random file can now be uploaded to a cloud storage service, for
|
||||
example, or some other location, preferably a non-public one, on the Net (in a
|
||||
real-life situation you will choose a less obvious offset than '123456789'
|
||||
example, or some other, preferably non-public, location on the Net (in a
|
||||
real-life situation you'll choose a less obvious offset than '123456789'
|
||||
though, won't you?).
|
||||
|
||||
If at some point you forget the offset but have your Incog ID written down, you
|
||||
can easily locate your hidden wallet in the file as follows:
|
||||
If at some point in the future you download this file to recover your wallet
|
||||
data but find you've forgotten the offset, you can recover it using the saved
|
||||
Incog ID as follows:
|
||||
|
||||
$ mmgen-tool find_incog_data random.dat ED1F2ACB
|
||||
...
|
||||
Incog data for ID ED1F2ACB found at offset 123456789
|
||||
|
||||
Hidden incog wallets are almost as convenient to use as ordinary ones.
|
||||
Generating ten addresses with your hidden incog data is done like this:
|
||||
Generating ten addresses with your hidden incog data is as easy as this:
|
||||
|
||||
$ mmgen-addrgen -G random.dat,123456789,256 32-42
|
||||
|
||||
Signing a transaction uses the same syntax:
|
||||
Use the same syntax to sign a transaction:
|
||||
|
||||
$ mmgen-txsign -G random.dat,123456789,256 tx_ABCDEE[0.1].raw
|
||||
...
|
||||
Signed transaction saved to file tx_ABCDEE[0.1].sig
|
||||
|
||||
Note that the seed length parameter here will always be '256', unless you're
|
||||
Note that the seed length parameter here will always be '256' unless you're
|
||||
using a non-default seed length.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue