modified: Getting-Started-with-MMGen.md
parent
9d4eaf47b1
commit
90ab5a7118
1 changed files with 16 additions and 66 deletions
|
|
@ -357,8 +357,9 @@ wallet filename. Now export your new toughened wallet to incognito format:
|
|||
...
|
||||
Incognito wallet data saved to file '89ABCDEF-87654321-ECA86420[256,5].mmincog'
|
||||
|
||||
'ECA86420' is the IV (init vector) ID. This can be used to find your wallet
|
||||
within random data if you've forgotten where you hid it **(TBD)**.
|
||||
'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.
|
||||
|
||||
Repeat the same export operation, but output to hexadecimal:
|
||||
|
||||
|
|
@ -372,9 +373,10 @@ Repeat the same export operation, but output to hexadecimal:
|
|||
3706 c5ce 56e0 7590 e677 6c6e 750a d057
|
||||
b43a 21f9 82c7 6bd1 fe96 bad9 2d54 c4c0
|
||||
|
||||
Note that the IV ID is different here: the IV is generated randomly each time,
|
||||
leading to the incog data as a whole being different as well. This allows you
|
||||
to store your incog data in multiple insecure locations without being detected.
|
||||
Note that the Incog ID is different here: it's generated from the init vector,
|
||||
which is randomly generated each time, leading to the incog data as a whole
|
||||
being different as well. This allows you to store your incog data in multiple
|
||||
insecure locations without being detected.
|
||||
|
||||
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. This hex dump of apparently random
|
||||
|
|
@ -396,17 +398,21 @@ with 1 GB of random data:
|
|||
|
||||
$ dd if=/dev/urandom of=random.dat bs=1K count=1M
|
||||
|
||||
Or better, yet, use `mmgen-tool rand2file` to do the same job but with
|
||||
some additional user entropy and a progress meter:
|
||||
|
||||
$ mmgen-tool -r40 rand2file random.dat 1G
|
||||
|
||||
Export your wallet to incog format, hiding it in this file at offset 123456789:
|
||||
|
||||
$ mmgen-walletchk -G random.dat,123456789 89ABCDEF-87654321[256,5].mmdat
|
||||
...
|
||||
IV ID: ED1F2ACB
|
||||
Incog ID: ED1F2ACB
|
||||
Data written to file 'random.dat' at offset 123456789
|
||||
|
||||
The IV ID is useful. If you forget the offset, it can be used to find your
|
||||
wallet data **(TBD)**. The file 'random.dat' can now be uploaded to your
|
||||
favorite cloud storage service, for example (in a real-life situation you'd
|
||||
choose a less obvious offset than '123456789' though).
|
||||
The file 'random.dat' can now be uploaded to your favorite cloud storage
|
||||
service, for example (in a real-life situation you'd choose a less obvious
|
||||
offset than '123456789' though).
|
||||
|
||||
Generate ten addresses with your hidden incog data:
|
||||
|
||||
|
|
@ -420,59 +426,3 @@ Sign a transaction with your hidden incog data:
|
|||
|
||||
Note that the seed length parameter here will always be '256' unless you're
|
||||
using a non-default seed length.
|
||||
|
||||
|
||||
|
||||
### Test suite (unsupported - much of this functionality is now in 'mmgen-tool'):
|
||||
|
||||
The test suite can be run from within the MMGen source directory. You might
|
||||
find the following tests to be of interest:
|
||||
|
||||
#### Bitcoin module:
|
||||
|
||||
> Show available tests:
|
||||
|
||||
mmgen/tests/bitcoin.py
|
||||
|
||||
> Compare 10 addresses generated by 'keyconv' with mmgen's internally-generated
|
||||
> ones:
|
||||
|
||||
mmgen/tests/bitcoin.py keyconv_compare_randloop 10
|
||||
|
||||
> Convert a string to base 58 and back:
|
||||
|
||||
mmgen/tests/bitcoin.py strtob58 'a string'
|
||||
|
||||
> Convert a hex number to base 58 and back:
|
||||
|
||||
mmgen/tests/bitcoin.py hextob58 deadbeef
|
||||
|
||||
> Perform 1000 hex -> base58 -> hex conversions, comparing results stringwise:
|
||||
|
||||
mmgen/tests/bitcoin.py hextob58_pad_randloop 1000
|
||||
|
||||
#### Mnemonic module:
|
||||
|
||||
> Show available tests:
|
||||
|
||||
mmgen/tests/mnemonic.py
|
||||
|
||||
> Generate a 12-word mnemonic from a random 128-bit seed:
|
||||
|
||||
mmgen/tests/mnemonic.py random128
|
||||
|
||||
>> or an 18-word mnemonic from a random 192-bit seed:
|
||||
|
||||
mmgen/tests/mnemonic.py random192
|
||||
|
||||
>> or a 24-word mnemonic from a random 256-bit seed:
|
||||
|
||||
mmgen/tests/mnemonic.py random256
|
||||
|
||||
> Show statistics for the Electrum wordlist:
|
||||
|
||||
mmgen/tests/mnemonic.py electrum
|
||||
|
||||
> Print the Electrum wordlist:
|
||||
|
||||
mmgen/tests/mnemonic.py electrum_print
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue