blob: 6e3f74a5e35b89cde05e52f8fea0f547606b66d5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
Metadata-Version: 2.1
Name: mnemonic
Version: 0.20
Summary: Implementation of Bitcoin BIP-0039
Home-page: https://github.com/trezor/python-mnemonic
Author: Trezor
Author-email: [email protected]
License: UNKNOWN
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.5
python-mnemonic
===============
.. image:: https://badge.fury.io/py/mnemonic.svg
:target: https://badge.fury.io/py/mnemonic
Reference implementation of BIP-0039: Mnemonic code for generating
deterministic keys
Abstract
--------
This BIP describes the implementation of a mnemonic code or mnemonic sentence --
a group of easy to remember words -- for the generation of deterministic wallets.
It consists of two parts: generating the mnenomic, and converting it into a
binary seed. This seed can be later used to generate deterministic wallets using
BIP-0032 or similar methods.
BIP Paper
---------
See https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
for full specification
Installation
------------
To install this library and its dependencies use:
``pip install mnemonic``
Usage examples
--------------
Import library into python project via:
.. code-block:: python
from mnemonic import Mnemonic
Initialize class instance, picking from available dictionaries:
- english
- chinese_simplified
- chinese_traditional
- french
- italian
- japanese
- korean
- spanish
.. code-block:: python
mnemo = Mnemonic(language)
mnemo = Mnemonic("english")
Generate word list given the strength (128 - 256):
.. code-block:: python
words = mnemo.generate(strength=256)
Given the word list and custom passphrase (empty in example), generate seed:
.. code-block:: python
seed = mnemo.to_seed(words, passphrase="")
Given the word list, calculate original entropy:
.. code-block:: python
entropy = mnemo.to_entropy(words)
Changelog
=========
.. default-role:: code
All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog`_, and this project adheres to
`Semantic Versioning`_.
`0.20`_ - 2021-07-27
---------------------
.. _0.20: https://github.com/trezor/python-mnemonic/compare/v0.19...v0.20
Added
~~~~~
- Type annotations
- Support for testnet private keys
Changed
~~~~~~~
- Project directory structure was cleaned up
- Language on the `Mnemonic` object is remembered instead of repeatedly detecting
Removed
~~~~~~~
- Support for Python 2.7 and 3.4 was dropped
0.19 - 2019-10-01
------------------
Added
~~~~~
- Start of changelog
.. _Keep a Changelog: https://keepachangelog.com/en/1.0.0/
.. _Semantic Versioning: https://semver.org/spec/v2.0.0.html
|