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 | Provenance | Actions |
|---|---|---|---|---|
| iota_mnemonic-0.2.1.tar.gz | 11.1 kB | Without provenance | Details for iota_mnemonic-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| iota_mnemonic-0.2.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for iota_mnemonic-0.2.1-py2.py3-none-any.whl |
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 |
Security for iota_mnemonic 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.