{ "info": { "author": "Louie Lu", "author_email": "git@louie.lu", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "IOTA Mnemonic\n=============\n\nThis is a command line tool to help user generate IOTA seed from Bitcoin\nBIP39 mnenomics\n\nInstall\n=======\n\n$ pipenv install iota_mnemonic\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo install IOTA mnemonic, simply run this simple command in your\nterminal of choice:\n\n::\n\n $ pipenv install iota_mnemonic\n\nGet the source code\n~~~~~~~~~~~~~~~~~~~\n\nYou can clone the source code from repository:\n\n::\n\n $ git clone https://github.com/mlouielu/iota-mnemonic\n\nHow to use\n==========\n\n::\n\n # Generate 24 words mnemonic and IOTA seed\n $ python -m iota_mnemonic\n Mnemonic: come grocery cube calm void liberty increase pigeon captain appear employ among \n float fancy cargo faith seek buzz argue lift agent split bachelor judge\n IOTA Seed: RTWTRPAEGJQFRWAYTIJTKWZKLN9K9VRUETFSIPUAUCLKPNNSNWAKTOXBWSCPQVNNWDLTEIPMILIOVPGIX\n\n # Generate mnemonic with passphrase\n $ python -m iota_mnemonic -p TREZOR\n Mnemonic: limit about defy sail base useless soul album aim border celery false asset average \n romance attract lonely track hope sun afford creek dignity couple\n IOTA Seed: LIPSSXDAJQRLBPTTBQTPTYBMUSTJPXWGYBKLSSBDVKPVEAXDGPZXOWPMEGRNSHTJXIUVCXYFTOXMZKIMY\n\n # Generate 12 words mnemonic with passphrase\n $ python -m iota_mnemonic -s 128 -p TREZOR\n Mnemonic: broccoli merry lucky milk lizard cannon area utility jelly click bag clever\n IOTA Seed: YNONELPCFBKQDDQMIBBBGJDZODCKXEBIJIMXRUGBA9AOPJEQ9SYYLGID9IXHILWVVDJ9ZEGQHCGIHQ9TB\n\n # Genreate mnemonic with japanese\n $ python -m iota_mnemonic -l japanese\n Mnemonic: \u3053\u3044\u306c\u3000\u3088\u3046\u3061\u3048\u3093\u3000\u3080\u305b\u3093\u3000\u3044\u3093\u3055\u3064\u3000\u3057\u306a\u3082\u306e\u3000\u3075\u306e\u3046\u3000\u304b\u308f\u304f\u3000\u3072\u304b\u308a\u3000\u306f\u3044\u3051\u3093\u3000\n \u305d\u3093\u3057\u3064\u3000\u305f\u305f\u304b\u3046\u3000\u3061\u3044\u3055\u3044\u3000\u305d\u3046\u3081\u3093\u3000\u3064\u3046\u308f\u3000\u306b\u3093\u3051\u3099\u3093\u3000\u3068\u304a\u3059\u3000\u3055\u307f\u305f\u3099\u308c\u3000\u304b\u307e\u307b\u3099\u3053\u3000\n \u3089\u304f\u305f\u3099\u3000\u3055\u3059\u3099\u304b\u308b\u3000\u3075\u3068\u308b\u3000\u3068\u3093\u304b\u3064\u3000\u304d\u3072\u3099\u3057\u3044\u3000\u3072\u3064\u305b\u3099\u3093\n IOTA Seed: ISBAFGB9LBGOQYGKKMMNK9APICZCGWIJHCMLOLPAQITGSSIGBJJOYQZJJ9NNGYIJLFB9ORMJGCWFFFYQZ\n\n # Output the mnemonic to file\n $ python -m iota_mnemonic -p TREZOR -o mnemonic\n\n # Recover seed from mnemonic\n $ python -m iota_menmonic -p TREZOR -f mnemonic\n Mnemonic: often various act decide tongue sausage summer wall priority knock finish until \n taxi robot panic toward giraffe acid avocado anchor travel kiwi actress cream\n IOTA Seed: CRGFVETUFKUQYTPTEH9TP9BDKBVZLG9UZJDZBDMMFSSCUPIATPEZMKBLKXOEKCRDFHHFNCCBF9SKHNYIA\n\nHow it works?\n=============\n\nTo create IOTA seed from the mnemonic, we use IOTA Kerl function with a\nmnemonic sentence (in UTF-8 NFKD) used as the password and the string\n\u201cmnemonic\u201d + passphrase (again in UTF-8 NFKD) used as the salt.\n\nTo get a valid tryte hash, we concat salt and mnemonic sentence, and\nload into ``iota.Hash`` by ``from_string`` function. ``from_string``\nwill encode UTF-8 NFKD into bytes, then convert bytes into IOTA hash.\n\nUsing each hash, we then use hash trits and Kerl to absorb and squeeze:\n\n.. code:: python\n\n trits = []\n sponge = iota.crypto.kerl.Kerl()\n\n for word in mnemonic:\n hash = iota.Hash.from_string(f'mnemonic{passphrase}{word}')\n hash_trits = hash.as_trits()\n k = iota.crypto.kerl.Kerl()\n k.absorb(hash_trits)\n k.squeeze(hash_trits)\n sponge.absorb(hash_trits)\n sponge.squeeze(trits)\n return iota.Hash.from_trits(trits)\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mlouielu/iota-mnemonic", "keywords": "", "license": "", "maintainer": "Louie Lu", "maintainer_email": "git@louie.lu", "name": "iota_mnemonic", "package_url": "https://pypi.org/project/iota_mnemonic/", "platform": "", "project_url": "https://pypi.org/project/iota_mnemonic/", "project_urls": { "Homepage": "https://github.com/mlouielu/iota-mnemonic" }, "release_url": "https://pypi.org/project/iota_mnemonic/0.2.1/", "requires_dist": [ "pyota (>= 2.0.1)", "mnemonic (>= 0.18)" ], "requires_python": ">= 3", "summary": "Generate, recover IOTA seed from Bitcoin BIP39 mnemonic", "version": "0.2.1" }, "last_serial": 3433144, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "09a76e23e8ba07b914e598287ae0865e", "sha256": "77f040f3a0b590d4ac5ef72b148af073c5402db8736a584556c08e9a77a8e493" }, "downloads": -1, "filename": "iota_mnemonic-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "09a76e23e8ba07b914e598287ae0865e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3", "size": 6763, "upload_time": "2017-12-21T02:57:30", "url": "https://files.pythonhosted.org/packages/8d/5c/28ce74623fde08a4102434c71979f169240ff9630ae549ca46dd3157f4f2/iota_mnemonic-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "664d7f110851b51507d62da890e55d10", "sha256": "4671e3076822021ba247eeee5ad3ce3ae3801586902b84189ed4af791b9f773e" }, "downloads": -1, "filename": "iota_mnemonic-0.1.tar.gz", "has_sig": false, "md5_digest": "664d7f110851b51507d62da890e55d10", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3", "size": 11120, "upload_time": "2017-12-21T02:57:34", "url": "https://files.pythonhosted.org/packages/ce/7f/ea1410cdeeaa6271efcb6ea08776ae4e5dd17c509045715abd44ec9ef803/iota_mnemonic-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "f9fca6822abe57b0a7d5589a0f282cb6", "sha256": "ad0425b79ebd65cc25098e4a69cca522092b5cf3b035d856e8f4c0d11a230a0a" }, "downloads": -1, "filename": "iota_mnemonic-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f9fca6822abe57b0a7d5589a0f282cb6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3", "size": 6762, "upload_time": "2017-12-21T02:58:52", "url": "https://files.pythonhosted.org/packages/41/6a/b526c2ce498b920359c29140bd345e5eb8beafbf9a977174558a18f4f651/iota_mnemonic-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c212de3f4be164df0b77fda60f9d997", "sha256": "06c80472a8d9653328f32b7b9be470982b80d489e345d558996e5683a5df6de2" }, "downloads": -1, "filename": "iota_mnemonic-0.2.tar.gz", "has_sig": false, "md5_digest": "7c212de3f4be164df0b77fda60f9d997", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3", "size": 11122, "upload_time": "2017-12-21T02:58:55", "url": "https://files.pythonhosted.org/packages/59/57/7febf6dd80808ee959f8f68a675005ed0da1230c6e1ca433bb2bf144104e/iota_mnemonic-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2fb1fb18d807cdf010a570e35ad27618", "sha256": "42e673c5c95dd62961513ead3f01eabeec7e1fd7609e6934cff0336c243fc523" }, "downloads": -1, "filename": "iota_mnemonic-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2fb1fb18d807cdf010a570e35ad27618", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3", "size": 6819, "upload_time": "2017-12-21T03:03:26", "url": "https://files.pythonhosted.org/packages/b8/4a/d569f1afeade29b2abdbd00fe15286b2de80f0d572d088c7d4e5d979166e/iota_mnemonic-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4347d493ff3bc43f624cc60767b1fa53", "sha256": "0799b3c9dcd687f412ae88aea8e8889a7091453ca19144a8ca13ed512cf48b43" }, "downloads": -1, "filename": "iota_mnemonic-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4347d493ff3bc43f624cc60767b1fa53", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3", "size": 11126, "upload_time": "2017-12-21T03:03:28", "url": "https://files.pythonhosted.org/packages/1e/46/bbe98d27ea998cc1d3698433d699587462c500e8febb66165b6c7f2eaa81/iota_mnemonic-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2fb1fb18d807cdf010a570e35ad27618", "sha256": "42e673c5c95dd62961513ead3f01eabeec7e1fd7609e6934cff0336c243fc523" }, "downloads": -1, "filename": "iota_mnemonic-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2fb1fb18d807cdf010a570e35ad27618", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3", "size": 6819, "upload_time": "2017-12-21T03:03:26", "url": "https://files.pythonhosted.org/packages/b8/4a/d569f1afeade29b2abdbd00fe15286b2de80f0d572d088c7d4e5d979166e/iota_mnemonic-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4347d493ff3bc43f624cc60767b1fa53", "sha256": "0799b3c9dcd687f412ae88aea8e8889a7091453ca19144a8ca13ed512cf48b43" }, "downloads": -1, "filename": "iota_mnemonic-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4347d493ff3bc43f624cc60767b1fa53", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3", "size": 11126, "upload_time": "2017-12-21T03:03:28", "url": "https://files.pythonhosted.org/packages/1e/46/bbe98d27ea998cc1d3698433d699587462c500e8febb66165b6c7f2eaa81/iota_mnemonic-0.2.1.tar.gz" } ] }