diff --git a/Install-MMGen-on-Debian-or-Ubuntu-Linux.md b/Install-MMGen-on-Debian-or-Ubuntu-Linux.md index 3bc901e..cf4d32c 100644 --- a/Install-MMGen-on-Debian-or-Ubuntu-Linux.md +++ b/Install-MMGen-on-Debian-or-Ubuntu-Linux.md @@ -2,11 +2,11 @@ Install required Debian/Ubuntu packages: - $ sudo apt-get install python-pip python-dev python-pexpect python-ecdsa python-scrypt libssl-dev git autoconf libtool wipe + $ sudo apt-get install python-pip python-dev python-pexpect python-ecdsa python-scrypt libssl-dev git autoconf libtool wipe python-setuptools Install the Python Cryptography Toolkit: - $ sudo pip install pycrypto + $ sudo -H pip install pycrypto Install the secp256k1 library: @@ -16,6 +16,8 @@ Install the secp256k1 library: $ ./configure $ make $ sudo make install + $ sudo ldconfig + $ cd .. Install MMGen: @@ -23,6 +25,7 @@ Install MMGen: $ cd mmgen $ git checkout -b stable stable_linux $ sudo ./setup.py install + $ cd .. Install vanitygen (optional): @@ -30,6 +33,7 @@ Install vanitygen (optional): $ git clone https://github.com/samr7/vanitygen.git $ cd vanitygen; make (copy the "keyconv" executable to your execution path) + $ cd .. Install bitcoind: diff --git a/man-addrgen.md b/man-addrgen.md index 1a7f697..1d7a30f 100644 --- a/man-addrgen.md +++ b/man-addrgen.md @@ -1,6 +1,6 @@ MMGEN-ADDRGEN: Generate a range or list of addresses from an MMGen wallet, - mnemonic, seed or password - USAGE: mmgen-addrgen [opts] [infile] + mnemonic, seed or brainwallet + USAGE: mmgen-addrgen [opts] [seed source] OPTIONS: -h, --help Print this help message --longhelp Print help message for long options (common options) @@ -26,10 +26,16 @@ -S, --stdout Print addresses to stdout -v, --verbose Produce more verbose output - Address indexes are given in a comma-separated list and/or hyphen-separated ranges. - If available, the external 'keyconv' program will be used for address - generation. + NOTES FOR THIS COMMAND + + Address indexes are given as a comma-separated list and/or hyphen-separated + range(s). + + If available, the secp256k1 library will be used for address generation. + + + NOTES FOR ALL GENERATOR COMMANDS For passphrases all combinations of whitespace are equal and leading and trailing space is ignored. This permits reading passphrase or brainwallet diff --git a/man-keygen.md b/man-keygen.md index 48bd561..773ad75 100644 --- a/man-keygen.md +++ b/man-keygen.md @@ -1,6 +1,6 @@ - MMGEN-KEYGEN: Generate a range or list of keys from an MMGen wallet, - mnemonic, seed or password - USAGE: mmgen-keygen [opts] [infile] + MMGEN-KEYGEN: Generate a range or list of secret keys from an MMGen wallet, + mnemonic, seed or brainwallet + USAGE: mmgen-keygen [opts] [seed source] OPTIONS: -h, --help Print this help message --longhelp Print help message for long options (common options) @@ -28,10 +28,19 @@ -v, --verbose Produce more verbose output -x, --b16 Print secret keys in hexadecimal too - Address indexes are given in a comma-separated list and/or hyphen-separated ranges. + + NOTES FOR THIS COMMAND + + Address indexes are given as a comma-separated list and/or hyphen-separated + range(s). By default, both addresses and secret keys are generated. + If available, the secp256k1 library will be used for address generation. + + + NOTES FOR ALL GENERATOR COMMANDS + For passphrases all combinations of whitespace are equal and leading and trailing space is ignored. This permits reading passphrase or brainwallet data from a multi-line file with free spacing and indentation. diff --git a/man-passgen.md b/man-passgen.md new file mode 100644 index 0000000..8d91ebb --- /dev/null +++ b/man-passgen.md @@ -0,0 +1,79 @@ + MMGEN-PASSGEN: Generate a range or list of passwords from an MMGen wallet, + mnemonic, seed or brainwallet for the given ID string + USAGE: mmgen-passgen [opts] [seed source] + OPTIONS: + -h, --help Print this help message + --longhelp Print help message for long options (common options) + -b, --base32 Generate passwords in Base32 format instead of Base58 + -d, --outdir d Output files to directory 'd' instead of working dir + -e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry + -i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below) + -H, --hidden-incog-input-params f,o Read hidden incognito data from file + 'f' at offset 'o' (comma-separated) + -O, --old-incog-fmt Specify old-format incognito input + -L, --passwd-len l Specify length of generated passwords + (default: 20 chars [base58], 24 chars [base32]) + -l, --seed-len l Specify wallet seed length of 'l' bits. This option + is required only for brainwallet and incognito inputs + with non-standard (< 256-bit) seed lengths + -p, --hash-preset p Use the scrypt hash parameters defined by preset 'p' + for password hashing (default: '3') + -z, --show-hash-presets Show information on available hash presets + -P, --passwd-file f Get wallet passphrase from file 'f' + -q, --quiet Produce quieter output; suppress some warnings + -r, --usr-randchars n Get 'n' characters of additional randomness from user + (min=10, max=80, default=30) + -S, --stdout Print passwords to stdout + -v, --verbose Produce more verbose output + + + NOTES FOR THIS COMMAND + + ID string must be a valid UTF-8 string not longer than 256 characters and + not containing the symbols ' ', ':', '/', '\'. + + Password indexes are given as a comma-separated list and/or hyphen-separated + range(s). + + Changing either the password format (base32,base58) or length alters the seed + and thus generates a completely new set of passwords. + + EXAMPLE: + Generate ten base58 passwords of length 20 for Alice's email account: + mmgen-passgen alice@nowhere.com 1-10 + + Generate ten base58 passwords of length 16 for Alice's email account: + mmgen-passgen -L16 alice@nowhere.com 1-10 + + Generate ten base32 passwords of length 24 for Alice's email account: + mmgen-passgen -b alice@nowhere.com 1-10 + + The three sets of passwords are completely unrelated to each other, so + Alice doesn't need to worry about password reuse. + + + NOTES FOR ALL GENERATOR COMMANDS + + For passphrases all combinations of whitespace are equal and leading and + trailing space is ignored. This permits reading passphrase or brainwallet + data from a multi-line file with free spacing and indentation. + + BRAINWALLET NOTE: + + To thwart dictionary attacks, it's recommended to use a strong hash preset + with brainwallets. For a brainwallet passphrase to generate the correct + seed, the same seed length and hash preset parameters must always be used. + + FMT CODES: + Format FileExt Valid codes + ------ ------- ----------- + Brainwallet .mmbrain mmbrain,brainwallet,brain,bw,b + HexSeedFile .mmhex seedhex,hexseed,hex,mmhex + IncogWallet .mmincog mmincog,incog,icg,i + IncogWalletHex .mmincox mmincox,incox,incog_hex,xincog,ix,xi + IncogWalletHidden None incog_hidden,hincog,ih,hi + Mnemonic .mmwords mmwords,words,mnemonic,mnem,mn,m + SeedFile .mmseed mmseed,seed,s + Wallet .mmdat wallet,w + + MMGEN v0.9.1 May 2017 MMGEN-PASSGEN(1) diff --git a/man-tool.md b/man-tool.md index 4f7269a..00a2a9c 100644 --- a/man-tool.md +++ b/man-tool.md @@ -60,6 +60,7 @@ remove_label - remove descriptive label for MMGen address in tracking wallet addrfile_chksum - compute checksum for MMGen address file keyaddrfile_chksum - compute checksum for MMGen key-address file + passwdfile_chksum - compute checksum for MMGen password file find_incog_data - Use an Incog ID to find hidden incognito wallet data id6 - generate 6-character MMGen ID for a file (or stdin) id8 - generate 8-character MMGen ID for a file (or stdin) diff --git a/man-txbump.md b/man-txbump.md index 4dd8176..5cc5daa 100644 --- a/man-txbump.md +++ b/man-txbump.md @@ -8,7 +8,8 @@ -c, --comment-file f Source the transaction's comment from file 'f' -d, --outdir d Specify an alternate directory 'd' for output -e, --echo-passphrase Print passphrase to screen when typing it - -f, --tx-fee f Transaction fee (default: 0.0003 BTC (but see below)) + -f, --tx-fee f Transaction fee, as a decimal BTC amount or in + satoshis per byte (an integer followed by 's') -H, --hidden-incog-input-params f,o Read hidden incognito data from file 'f' at offset 'o' (comma-separated) -i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below) @@ -34,7 +35,7 @@ -s, --send Sign and send the transaction (the default if seed data is provided) -v, --verbose Produce more verbose output - -y, --yes Answer 'yes' to all prompts, suppress non-essential output + -y, --yes Answer 'yes' to prompts, suppress non-essential output -z, --show-hash-presets Show information on available hash presets FEE SPECIFICATION: Transaction fees, both on the command line and at the diff --git a/man-txcreate.md b/man-txcreate.md index 9ea85dc..44e9446 100644 --- a/man-txcreate.md +++ b/man-txcreate.md @@ -1,30 +1,34 @@ MMGEN-TXCREATE: Create a transaction with outputs to specified Bitcoin or MMGen addresses USAGE: mmgen-txcreate [opts] ... [change addr] [addr file] ... OPTIONS: - -h, --help Print this help message - --longhelp Print help message for long options (common options) - -a, --tx-fee-adj f Adjust transaction fee by factor 'f' (see below) - -B, --no-blank Don't blank screen before displaying unspent outputs - -c, --comment-file f Source the transaction's comment from file 'f' - -C, --tx-confs c Desired number of confirmations (default: 3) - -d, --outdir d Specify an alternate directory 'd' for output - -f, --tx-fee f Transaction fee (default: 0.0003 BTC (but see below)) - -i, --info Display unspent outputs and exit - -m, --minconf n Minimum number of confirmations required to spend outputs (default: 1) - -q, --quiet Suppress warnings; overwrite files without prompting - -r, --rbf Make transaction BIP 125 replaceable (replace-by-fee) - -v, --verbose Produce more verbose output - -y, --yes Answer 'yes' to all prompts, suppress non-essential output + -h, --help Print this help message + --longhelp Print help message for long options (common options) + -a, --tx-fee-adj f Adjust transaction fee by factor 'f' (see below) + -B, --no-blank Don't blank screen before displaying unspent outputs + -c, --comment-file f Source the transaction's comment from file 'f' + -C, --tx-confs c Desired number of confirmations (default: 3) + -d, --outdir d Specify an alternate directory 'd' for output + -f, --tx-fee f Transaction fee, as a decimal BTC amount or in satoshis + per byte (an integer followed by 's'). If omitted, fee + will be calculated using bitcoind's 'estimatefee' call + -i, --info Display unspent outputs and exit + -m, --minconf n Minimum number of confirmations required to spend + outputs (default: 1) + -q, --quiet Suppress warnings; overwrite files without prompting + -r, --rbf Make transaction BIP 125 replaceable (replace-by-fee) + -v, --verbose Produce more verbose output + -y, --yes Answer 'yes' to prompts, suppress non-essential output The transaction's outputs are specified on the command line, while its inputs are chosen from a list of the user's unpent outputs via an interactive menu. - If the transaction fee is not specified by the user (see FEE SPECIFICATION - below), it will be calculated using bitcoind's "estimatefee" function for the - default (or user-specified) number of confirmations. If "estimatefee" fails, - the global default fee of 0.0003 BTC will be used. + If the transaction fee is not specified on the command line (see FEE + SPECIFICATION below), it will be calculated dynamically using bitcoind's + "estimatefee" function for the default (or user-specified) number of + confirmations. If "estimatefee" fails, the user will be prompted for a fee. - Dynamic fees will be multiplied by the value of '--tx-fee-adj', if specified. + Dynamic ("estimatefee") fees will be multiplied by the value of '--tx-fee-adj', + if specified. Ages of transactions are approximate based on an average block discovery interval of 9 minutes. diff --git a/man-txdo.md b/man-txdo.md index 9906254..e417aeb 100644 --- a/man-txdo.md +++ b/man-txdo.md @@ -11,7 +11,10 @@ -C, --tx-confs c Desired number of confirmations (default: 3) -d, --outdir d Specify an alternate directory 'd' for output -e, --echo-passphrase Print passphrase to screen when typing it - -f, --tx-fee f Transaction fee (default: 0.0003 BTC (but see below)) + -f, --tx-fee f Transaction fee, as a decimal BTC amount or in + satoshis per byte (an integer followed by 's'). + If omitted, bitcoind's 'estimatefee' will be used + to calculate the fee. -H, --hidden-incog-input-params f,o Read hidden incognito data from file 'f' at offset 'o' (comma-separated) -i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below) @@ -36,18 +39,19 @@ -r, --rbf Make transaction BIP 125 (replace-by-fee) replaceable -q, --quiet Suppress warnings; overwrite files without prompting -v, --verbose Produce more verbose output - -y, --yes Answer 'yes' to all prompts, suppress non-essential output + -y, --yes Answer 'yes' to prompts, suppress non-essential output -z, --show-hash-presets Show information on available hash presets The transaction's outputs are specified on the command line, while its inputs are chosen from a list of the user's unpent outputs via an interactive menu. - If the transaction fee is not specified by the user (see FEE SPECIFICATION - below), it will be calculated using bitcoind's "estimatefee" function for the - default (or user-specified) number of confirmations. If "estimatefee" fails, - the global default fee of 0.0003 BTC will be used. + If the transaction fee is not specified on the command line (see FEE + SPECIFICATION below), it will be calculated dynamically using bitcoind's + "estimatefee" function for the default (or user-specified) number of + confirmations. If "estimatefee" fails, the user will be prompted for a fee. - Dynamic fees will be multiplied by the value of '--tx-fee-adj', if specified. + Dynamic ("estimatefee") fees will be multiplied by the value of '--tx-fee-adj', + if specified. Ages of transactions are approximate based on an average block discovery interval of 9 minutes. diff --git a/man-txsend.md b/man-txsend.md index 1166dfa..28df34f 100644 --- a/man-txsend.md +++ b/man-txsend.md @@ -5,6 +5,6 @@ --longhelp Print help message for long options (common options) -d, --outdir d Specify an alternate directory 'd' for output -q, --quiet Suppress warnings; overwrite files without prompting - -y, --yes Answer 'yes' to all prompts, suppress non-essential output + -y, --yes Answer 'yes' to prompts, suppress non-essential output MMGEN v0.9.1 May 2017 MMGEN-TXSEND(1) diff --git a/man-txsign.md b/man-txsign.md index 3d62f25..d8f6a73 100644 --- a/man-txsign.md +++ b/man-txsign.md @@ -3,8 +3,8 @@ OPTIONS: -h, --help Print this help message --longhelp Print help message for long options (common options) - -b, --brain-params l,p Use seed length 'l' and hash preset 'p' for brainwallet - input + -b, --brain-params l,p Use seed length 'l' and hash preset 'p' for + brainwallet input -d, --outdir d Specify an alternate directory 'd' for output -D, --tx-id Display transaction ID and exit -e, --echo-passphrase Print passphrase to screen when typing it @@ -31,7 +31,7 @@ -I, --info Display information about the transaction and exit -t, --terse-info Like '--info', but produce more concise output -v, --verbose Produce more verbose output - -y, --yes Answer 'yes' to all prompts, suppress non-essential output + -y, --yes Answer 'yes' to prompts, suppress non-essential output Transactions may contain both MMGen or non-MMGen input addresses.