an online/offline cryptocurrency wallet for the command line https://mmgen-wallet.cc
The MMGen Project 8c756b0b2a variable rename: `secp256k1_ge` -> `secp256k1_group_order` | 11 months ago | |
---|---|---|
.github | 11 months ago | |
cmds | 11 months ago | |
doc | 11 months ago | |
examples | 1 year ago | |
extmod | 1 year ago | |
mmgen | 11 months ago | |
scripts | 11 months ago | |
test | 11 months ago | |
INSTALL | 7 years ago | |
LICENSE | 9 years ago | |
MANIFEST.in | 11 months ago | |
README.md | 11 months ago | |
SIGNING_KEYS.pub | 6 years ago | |
alt-requirements.txt | 11 months ago | |
eth-requirements.txt | 1 year ago | |
pyproject.toml | 1 year ago | |
setup.cfg | 11 months ago | |
setup.py | 1 year ago | |
test-requirements.txt | 1 year ago | |
xmr-requirements.txt | 1 year ago |
MMGen Wallet is a wallet and cold storage solution for Bitcoin (and selected altcoins) implemented as a suite of lightweight Python scripts. The scripts work in tandem with a reference Bitcoin or altcoin daemon running on both online and offline computers to provide a robust solution for securely storing, tracking, sending and receiving your crypto assets.
The online computer is used for tracking balances and creating and sending transactions, while the offline machine (typically an air-gapped, low-power device such as a Raspberry Pi) takes care of wallet creation, address generation and transaction signing. All operations involving secret data are handled offline: your seed and private keys never come into contact with a network-connected device.
MMGen Wallet is designed for reliability by having the reference Bitcoin or altcoin daemon, rather than less-tested third-party software, do all the “heavy lifting” of tracking and signing transactions. It’s also designed with privacy in mind: unlike some other online/offline wallets, MMGen Wallet is a completely self-contained system that makes no connections to the Internet apart from the coin network itself: no information about which addresses you’re tracking is ever leaked to the outside world.
Like all deterministic wallets, MMGen Wallet can generate a virtually unlimited number of address/key pairs from a single seed. Your wallet never changes, so you need back it up only once.
At the heart of the MMGen system is the seed, the “master key” providing access to all your crypto assets. The seed can be stored in many different formats: as a password-encrypted wallet (the default), as a one-line base58 or hexadecimal seed file, as formatted “dieroll base6” data, as an Electrum-based or BIP39 mnemonic seed phrase, as a brainwallet passphrase, or as “incognito data” hideable within random data in a file or block device. Conversion among all formats is supported.
mmgen-txcreate running in a terminal window
To deterministically derive its keys, MMGen Wallet uses a non-hierarchical scheme differing from the BIP32 protocol on which most of today’s popular wallets are based. One advantage of this simple, hash-based scheme is that you can easily recover your private keys from your seed without the MMGen Wallet software using standard command-line utilities.
MMGen Wallet also differs from most cryptocurrency wallets today in its use of the original 1626-word Electrum wordlist for mnemonic seed phrases. Seed phrases are derived using ordinary base conversion, similarly allowing you to regenerate your seed from your seed phrase without the MMGen Wallet software should the need arise. An example of how to do this at the Python prompt is provided here.
The original Electrum wordlist was derived from a frequency list of words found in contemporary English poetry. The high emotional impact of these words makes seed phrases easy to memorize. Curiously, only 861 of them are shared by the more prosaic 2048-word BIP39 wordlist used in most wallets today.
Beginning with version 0.12.0, the BIP39 mnemonic format is also supported, allowing you to use MMGen Wallet as a master wallet for other wallets supporting that widespread standard.
mmgen-xmrwallet
command.mmgen-walletconv -i dieroll
.mmgen-tool
and mmgen-passgen
.mmgen-tool
utility, a handy “pocket
knife” for cryptocurrency developers, along with an easy-to-use tool API
interface providing access to a subset of its commands from within
Python.Linux, Armbian, Raspbian, Windows/MSYS2
Install on Microsoft Windows
Install on Debian, Ubuntu, Raspbian, Armbian or Arch Linux
Getting Started with MMGen Wallet
MMGen Wallet Quick Start with Regtest Mode
MMGen Wallet command help
Recovering your keys without the MMGen Wallet software
Altcoin and Forkcoin support (ETH,ETC,XMR,ZEC,LTC,BCH and 144 Bitcoin-derived alts)
Subwallets
XOR Seed Splitting
Test Suite
Tool API
Homepage:
Clearnet |
I2P |
Onion
Code repository:
Clearnet |
I2P |
Onion
Code repository mirrors:
Github |
Gitlab |
Gitflic
Keybase |
Twitter |
Reddit |
Bitcointalk
PGP Signing Key: 5C84 CB45 AEE2 250F 31A6 A570 3F8B 1861 E32B 7DA2
Donate:
⊙ BTC: bc1qxmymxf8p5ckvlxkmkwgw8ap5t2xuaffmrpexap
⊙ BCH: 15TLdmi5NYLdqmtCqczUs5pBPkJDXRs83w
⊙ XMR: 8B14zb8wgLuKDdse5p8f3aKpFqRdB4i4xj83b7BHYABHMvHifWxiDXeKRELnaxL5FySfeRRS5girgUvgy8fQKsYMEzPUJ8h