IOTA Mnemonic
This is a command line tool to help user generate IOTA seed from Bitcoin BIP39 mnenomics
Install
$ pipenv install iota_mnemonic
To install IOTA mnemonic, simply run this simple command in your terminal of choice:
$ pipenv install iota_mnemonic
Get the source code
You can clone the source code from repository:
$ git clone https://github.com/mlouielu/iota-mnemonic
How to use
# Generate 24 words mnemonic and IOTA seed $ python -m iota_mnemonic Mnemonic: come grocery cube calm void liberty increase pigeon captain appear employ among float fancy cargo faith seek buzz argue lift agent split bachelor judge IOTA Seed: RTWTRPAEGJQFRWAYTIJTKWZKLN9K9VRUETFSIPUAUCLKPNNSNWAKTOXBWSCPQVNNWDLTEIPMILIOVPGIX # Generate mnemonic with passphrase $ python -m iota_mnemonic -p TREZOR Mnemonic: limit about defy sail base useless soul album aim border celery false asset average romance attract lonely track hope sun afford creek dignity couple IOTA Seed: LIPSSXDAJQRLBPTTBQTPTYBMUSTJPXWGYBKLSSBDVKPVEAXDGPZXOWPMEGRNSHTJXIUVCXYFTOXMZKIMY # Generate 12 words mnemonic with passphrase $ python -m iota_mnemonic -s 128 -p TREZOR Mnemonic: broccoli merry lucky milk lizard cannon area utility jelly click bag clever IOTA Seed: YNONELPCFBKQDDQMIBBBGJDZODCKXEBIJIMXRUGBA9AOPJEQ9SYYLGID9IXHILWVVDJ9ZEGQHCGIHQ9TB # Genreate mnemonic with japanese $ python -m iota_mnemonic -l japanese Mnemonic: こいぬ ようちえん むせん いんさつ しなもの ふのう かわく ひかり はいけん そんしつ たたかう ちいさい そうめん つうわ にんげん とおす さみだれ かまぼこ らくだ さずかる ふとる とんかつ きびしい ひつぜん IOTA Seed: ISBAFGB9LBGOQYGKKMMNK9APICZCGWIJHCMLOLPAQITGSSIGBJJOYQZJJ9NNGYIJLFB9ORMJGCWFFFYQZ # Output the mnemonic to file $ python -m iota_mnemonic -p TREZOR -o mnemonic # Recover seed from mnemonic $ python -m iota_menmonic -p TREZOR -f mnemonic Mnemonic: often various act decide tongue sausage summer wall priority knock finish until taxi robot panic toward giraffe acid avocado anchor travel kiwi actress cream IOTA Seed: CRGFVETUFKUQYTPTEH9TP9BDKBVZLG9UZJDZBDMMFSSCUPIATPEZMKBLKXOEKCRDFHHFNCCBF9SKHNYIA
How it works?
To create IOTA seed from the mnemonic, we use IOTA Kerl function with a mnemonic sentence (in UTF-8 NFKD) used as the password and the string “mnemonic” + passphrase (again in UTF-8 NFKD) used as the salt.
To get a valid tryte hash, we concat salt and mnemonic sentence, and load into iota.Hash by from_string function. from_string will encode UTF-8 NFKD into bytes, then convert bytes into IOTA hash.
Using each hash, we then use hash trits and Kerl to absorb and squeeze:
trits = []
sponge = iota.crypto.kerl.Kerl()
for word in mnemonic:
hash = iota.Hash.from_string(f'mnemonic{passphrase}{word}')
hash_trits = hash.as_trits()
k = iota.crypto.kerl.Kerl()
k.absorb(hash_trits)
k.squeeze(hash_trits)
sponge.absorb(hash_trits)
sponge.squeeze(trits)
return iota.Hash.from_trits(trits)
Metadata
Release files for iota_mnemonic 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iota_mnemonic-0.2.1.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iota_mnemonic-0.2.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / iota_mnemonic-0.2.1.tar.gz
| Download URL | iota_mnemonic-0.2.1.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0799b3c9dcd687f412ae88aea8e8889a7091453ca19144a8ca13ed512cf48b43
|
|
BLAKE2b-256 checksum How to use checksums |
1e46bbe98d27ea998cc1d3698433d699587462c500e8febb66165b6c7f2eaa81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / iota_mnemonic-0.2.1-py2.py3-none-any.whl
| Download URL | iota_mnemonic-0.2.1-py2.py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
42e673c5c95dd62961513ead3f01eabeec7e1fd7609e6934cff0336c243fc523
|
|
BLAKE2b-256 checksum How to use checksums |
b84ad569f1afeade29b2abdbd00fe15286b2de80f0d572d088c7d4e5d979166e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |