an online/offline cryptocurrency wallet for the command line https://mmgen-wallet.cc

philemon 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
doc ffb17f3d8c Documentation changes 11 years ago
mmgen 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
scripts afa3fe609a Code cleanups 11 years ago
wordlists 1da4504373 modified: mmgen/mn_electrum.py 11 years ago
MANIFEST 3302ac774f Various bugfixes, better password handling 11 years ago
README.md 941b9360d8 new file: README.md 11 years ago
__init__.py c40dae3ce9 Bugfixes, documentation update 11 years ago
mmgen-addrgen 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-addrimport 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-passchg 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-pywallet 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-txcreate 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-txsend 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-txsign 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-walletchk 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
mmgen-walletgen 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago
setup.py 1c9b0f8816 mmgen-txcreate interface improvements 11 years ago

README.md

MMGen = Multi-Mode GENerator

a Bitcoin cold storage solution for the command line

Description

MMGen is a Bitcoin cold-storage system implemented as a suite of Python command-line scripts requiring only a bare minimum of system resources. The scripts work in tandem with a modified Satoshi bitcoind running on an online computer and a stock bitcoind running offline to provide a robust solution for securely storing, tracking, sending and receiving Bitcoins. "Non-MMGen" addresses can be tracked and spent as well, creating an easy migration path from other wallets.

To track address balances, MMGen relies on a bitcoin daemon modified by Bitcoin's core developer team to support watch-only addresses. This feature is soon to be included in the mainline Satoshi build. In the meantime, instructions are provided below for compiling the modified bitcoind. Under Linux, this is a trivial task for even a casual user. Unfortunately, the same can't be said for Windows, but the thoroughly tested, step-by-step Windows build instructions provided here should guarantee success if followed carefully and make the process as painless as possible.

MMGen is designed for reliability by having the reference Satoshi daemon, rather than less-tested third-party software, do all the "heavy lifting" of tracking and signing transactions. It's also designed for privacy: unlike some other online/offline wallet solutions, the MMGen system is completely self-contained, requiring no external server to do its work, which means no third party will know which addresses you're tracking.

Like all deterministic wallets, MMGen can generate a virtually unlimited number of address/key pairs from a single seed. Your wallet never changes, so you need to back it up only once. Transactions are signed offline: your seed and private keys never touch an online computer.

At the heart of the MMGen system is the seed, the "master key" providing access to all your Bitcoins. The seed can be stored in four different ways:

  1. as a password-encrypted wallet. For password hashing, the crack-resistant scrypt hash function is used. Scrypt's parameters can be customized on the command line to make your wallet's password virtually impossible to crack should it fall into the wrong hands. The wallet is a tiny, six-line text file suitable for printing or even writing out by hand;

  2. as a seed file: a one-line base-58 representation of your unencrypted seed with a checksum;

  3. as an Electrum-like mnemonic of 12, 18 or 24 words; or

  4. as a brainwallet password (this option is recommended for expert users only).

The best part is that all these methods can be combined. If you forget your mnemonic, for example, you can regenerate it and your keys from the stored wallet or seed file. Correspondingly, a lost wallet can be regenerated from the mnemonic or seed or a lost seed from the wallet or mnemonic.

Download/Install

Install on Microsoft Windows

Install on Debian/Ubuntu Linux

Using MMGen

See Getting Started with MMGen