Complete BIP39 mnemonic support
- provided as an alternative to MMGen's native mnemonic format
# Run the BIP39 unit test:
$ test/unit_tests.py -v bip39
# Generate a random 128-bit BIP39 seed phrase:
$ mmgen-tool mn_rand128 fmt=bip39
# Export your default wallet to BIP39 format:
$ mmgen-walletconv -o bip39
...
BIP39 mnemonic data written to file '98831F3A[256].bip39'
# Generate ten addresses from the exported wallet:
$ mmgen-addrgen '98831F3A[256].bip39' 1-10
...
Addresses written to file '98831F3A[1-10].addrs'
# Generate ten addresses directly from your BIP39 seed phrase:
$ mmgen-addrgen -q -i bip39 1-10
...
Addresses written to file '98831F3A[1-10].addrs'
# Export subwallet 10L of your default wallet to BIP39 format:
$ mmgen-subwalletgen -o bip39 10L
...
BIP39 mnemonic data written to file 'A17F8E90[256].bip39'
This commit is contained in:
parent
c82c9c5bd7
commit
8519b68b89
19 changed files with 2507 additions and 79 deletions
|
|
@ -151,12 +151,14 @@ class TestSuiteRef3Seed(TestSuiteBase,TestSuiteShared):
|
|||
('ref_wallet_chk', ([],'saved reference wallet')),
|
||||
('ref_seed_chk', ([],'saved seed file')),
|
||||
('ref_hex_chk', ([],'saved mmhex file')),
|
||||
('ref_mn_chk', ([],'saved mnemonic file')),
|
||||
('ref_mn_chk', ([],'saved native MMGen mnemonic file')),
|
||||
('ref_bip39_chk', ([],'saved BIP39 mnemonic file')),
|
||||
('ref_hincog_chk', ([],'saved hidden incog reference wallet')),
|
||||
('ref_brain_chk', ([],'saved brainwallet')), # in ts_shared
|
||||
# generating new reference ('abc' brainwallet) files:
|
||||
('ref_walletgen_brain', ([],'generating new reference wallet + filename check (brain)')),
|
||||
('ref_walletconv_words', (['mmdat',pwfile],'wallet filename (words)')),
|
||||
('ref_walletconv_words', (['mmdat',pwfile],'wallet filename (native mnemonic)')),
|
||||
('ref_walletconv_bip39', (['mmdat',pwfile],'wallet filename (bip39)')),
|
||||
('ref_walletconv_seed', (['mmdat',pwfile],'wallet filename (seed)')),
|
||||
('ref_walletconv_hexseed',(['mmdat',pwfile],'wallet filename (hex seed)')),
|
||||
('ref_walletconv_incog', (['mmdat',pwfile],'wallet filename (incog)')),
|
||||
|
|
@ -201,8 +203,12 @@ class TestSuiteRef3Seed(TestSuiteBase,TestSuiteShared):
|
|||
return self.ref_ss_chk(ss=HexSeedFile)
|
||||
|
||||
def ref_mn_chk(self):
|
||||
from mmgen.seed import Mnemonic
|
||||
return self.ref_ss_chk(ss=Mnemonic)
|
||||
from mmgen.seed import MMGenMnemonic
|
||||
return self.ref_ss_chk(ss=MMGenMnemonic)
|
||||
|
||||
def ref_bip39_chk(self):
|
||||
from mmgen.seed import BIP39Mnemonic
|
||||
return self.ref_ss_chk(ss=BIP39Mnemonic)
|
||||
|
||||
def ref_hincog_chk(self,desc='hidden incognito data'):
|
||||
source = TestSuiteWalletConv.sources[str(self.seed_len)]
|
||||
|
|
@ -263,7 +269,10 @@ class TestSuiteRef3Seed(TestSuiteBase,TestSuiteShared):
|
|||
return t
|
||||
|
||||
def ref_walletconv_words(self,fn,pf):
|
||||
return self.ref_walletconv(fn,pf,ofmt='mn',desc='Mnemonic data',ext='mmwords')
|
||||
return self.ref_walletconv(fn,pf,ofmt='mn',desc='MMGen native mnemonic data',ext='mmwords')
|
||||
|
||||
def ref_walletconv_bip39(self,fn,pf):
|
||||
return self.ref_walletconv(fn,pf,ofmt='bip39',desc='BIP39 mnemonic data',ext='bip39')
|
||||
|
||||
def ref_walletconv_seed(self,fn,pf):
|
||||
return self.ref_walletconv(fn,pf,ofmt='mmseed',desc='Seed data',ext='mmseed')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue