Browse Source

Documentation updates

philemon 7 years ago
parent
commit
41460cb2fd

+ 2 - 2
README.md

@@ -107,7 +107,7 @@ future use in an address file, which addresses may safely be made public.
 
 > #### [Recovering your keys without the MMGen software][r]
 
-> #### [Bitcoin Cash (BCH) support][x]
+> #### [Forkcoin and Altcoin support (BCH,LTC)][x]
 
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
@@ -128,5 +128,5 @@ Donate: 15TLdmi5NYLdqmtCqczUs5pBPkJDXRs83w
 [8]: https://github.com/mmgen/MMGenLive
 [9]: https://cloud.githubusercontent.com/assets/6071028/20677261/6ccab1bc-b58a-11e6-8ab6-094f88befef2.jpg
 [r]: https://github.com/mmgen/mmgen/wiki/Recovering-Your-Keys-Without-the-MMGen-Software
-[x]: https://github.com/mmgen/mmgen/wiki/Getting-Started-with-MMGen#a_bch
+[x]: https://github.com/mmgen/mmgen/wiki/Getting-Started-with-MMGen#a_alt
 [z]: https://user-images.githubusercontent.com/6071028/31656274-a35a1252-b31a-11e7-93b7-3d666f50f70f.png

+ 27 - 19
doc/wiki/install-linux/Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md

@@ -1,6 +1,6 @@
-***Note for Raspbian and Armbian users: Compiling the bitcoin daemon will
-probably fail on a RPi or RPi clone due to insufficient memory.  Fortunately,
-ARM binaries are available for both Bitcoin Core and Bitcoin ABC.  See the
+***Note for Raspbian and Armbian users: Compiling the Bitcoin or Litecoin daemon
+may fail on a RPi or RPi clone due to insufficient memory.  Fortunately, ARM
+binaries are available for Bitcoin Core, Bitcoin ABC and Litecoin.  See the
 [binary installation page][01] for details.***
 
 ### Install dependencies:
@@ -35,15 +35,13 @@ ARM binaries are available for both Bitcoin Core and Bitcoin ABC.  See the
 > it, along with the 'bitcoin-cli' utility, into your executable path:
 
 		$ cd src
-		$ strip bitcoind bitcoin-cli
-		$ sudo cp bitcoind /usr/local/bin
-		$ sudo cp bitcoin-cli /usr/local/bin
+		$ sudo install -sv bitcoind bitcoin-cli /usr/local/bin
 
 ### Compile and install Bitcoin ABC (optional):
 
-> *Regard Bitcoin ABC as experimental software.  The author of the MMGen project
-> has only partially reviewed its codebase and makes no guarantees regarding its
-> safety or reliability.*
+> *Consider Bitcoin ABC to be experimental software.  The author of the MMGen
+> project has only partially reviewed its codebase and makes no guarantees
+> regarding its safety or reliability.*
 
 > If you want to transact BCH, also known as “Bitcoin Cash” or “Bcash”, then
 > clone the Bitcoin ABC repository, and configure and build exactly as you did
@@ -59,21 +57,31 @@ ARM binaries are available for both Bitcoin Core and Bitcoin ABC.  See the
 > under a different name to avoid overwriting your Core daemon:
 
 		$ cd src
-		$ strip bitcoind bitcoin-cli
-		$ sudo cp bitcoind /usr/local/bin/bitcoind-abc
+		$ sudo install -sv bitcoind /usr/local/bin/bitcoind-abc
 
 > From now on, you'll invoke the daemon as 'bitcoind-abc' instead of 'bitcoind'.
-> Or alternatively, to simplify the starting and stopping of two daemons on the
-> same machine, download and use the node start and stop scripts from the
-> MMGenLive project:
+
+### Compile and install Litecoin (optional):
+
+> Clone the Litecoin repository, compile and install:
+
+		$ git clone https://github.com/litecoin-project/litecoin.git
+		$ cd litecoin
+		$ ./autogen.sh
+		$ ./configure --without-gui --with-incompatible-bdb
+		$ make -j4
+		$ cd src
+		$ sudo install -sv litecoind litecoin-cli /usr/local/bin
+
+> To simplify the starting and stopping of several daemons on the same machine,
+> download and use the node start and stop scripts from the MMGenLive project:
 
 		$ curl -O 'https://raw.githubusercontent.com/mmgen/MMGenLive/master/home.mmgen/bin/mmlive-node-{start,stop}'
-		$ sudo install mmlive-node-{start,stop} /usr/local/bin
+		$ sudo install -v mmlive-node-{start,stop} /usr/local/bin
 
-Refer to **Run:** on the [binary installation page][01] for instructions on
-running your freshly compiled bitcoin daemon(s).
+Refer to [Run][02] on the binary installation page for instructions on running
+your coin daemon(s).
 
 [01]: Install-Bitcoind
-[dl]: https://bitcoin.org/en/download
-[gs]: Getting-Started-with-MMGen
+[02]: Install-Bitcoind#a_r
 [bu]: https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md

+ 92 - 43
doc/wiki/install-linux/Install-Bitcoind.md

@@ -1,82 +1,131 @@
-## Installing the Bitcoin daemon
+## Install Bitcoind and other supported coin daemons
 
 The bitcoin daemon on the **offline computer** is used solely to sign
 transactions and runs without a blockchain.  Thus even a low-powered computer
-such as a netbook will suffice as your offline machine.
+such as a Raspberry Pi or an old netbook can serve nicely as your offline
+machine.
 
 The bitcoin daemon on the **online computer** requires a complete and
 up-to-date blockchain for tracking addresses.  Since its work is more CPU and
-disk intensive, a more powerful computer is recommended here.  You'll also
-need plenty of free disk space for the rapidly growing blockchain (~100GB at
-the time of writing).
+disk intensive, a more powerful computer is required here.  You'll also need
+plenty of free disk space for the growing blockchain (~160GB at the time of
+writing).
 
 Two blockchain operations are especially resource-intensive: **synchronizing
 the blockchain** and **importing existing addresses with balances**.  If you
 synchronize often (once a week, for example) and take care to import your
-addresses **before** spending into them, then it's possible to use a
-low-powered netbook as your online machine.
+addresses **before** spending into them, then it's possible to get by with a
+more low-powered computer as your online machine.
 
-### Download:
+### <a name='a_d'>Download:</a>
 
 > **Bitcoin Core:**
 
->> Go to the Bitcoin Core [main download page][01].  Choose the 32-bit or 64-bit
->> versions appropriate for your online and offline computers.
+>> Go to the Bitcoin Core [download page][01].  Choose the 32-bit or 64-bit
+>> versions appropriate for your online and offline computers.  Windows users
+>> should choose the executable installer.
 
 > **Bitcoin ABC (optional):**
 
->> If you wish to transact BCH, a.k.a "Bitcoin Cash” or “Bcash”, then download
->> the appropriate [Bitcoin ABC binary][abc] for your system as well.  Windows
->> users should download the zip file rather than the installer.  Both Windows
->> and Linux users **must** rename the binary to 'bitcoind-abc' before
->> installing it in their executable path.
-
->> *Regard the Bitcoin ABC binaries as untrusted software.  The author of the
+>> If you wish to transact BCH (Bcash), then download the appropriate [Bitcoin
+>> ABC binary][abc] for your system as well.  Windows users should choose the
+>> executable installer.  
+>> *Consider the Bitcoin ABC binaries untrusted software.  The author of the
 >> MMGen project makes no guarantees regarding their safety or reliability.*
 
-### Install (both online and offline computers):
+> **Litecoin (optional):**
+
+>> Go to the Litecoin Core [download page][lc].  Choose the 32-bit or 64-bit
+>> versions appropriate for your online and offline computers.  Windows users
+>> should choose the executable installer.
+
+### <a name='a_i'>Install (both online and offline computers):</a>
+
+> **Bitcoin Core:**
+
+>> **Windows:** Run the Windows installer with the default settings.  Add
+>> 'C:\Program Files\Bitcoin\daemon' to your [path][05].  
+>> **Linux:** Unpack the archive and copy the 'bitcoind' and 'bitcoin-cli'
+>> binaries to /usr/local/bin.
+
+> **Bitcoin ABC (optional):**
+
+>> **Windows:** Run the Windows installer, installing into the alternate
+>> folder 'C:\Program Files\Bitcoin_ABC'. Add 'C:\Program Files\Bitcoin_ABC\daemon'
+>> to your [path][05]. Rename the file 'bitcoind' in that folder to
+>> 'bitcoind-abc'.  
+>> **Linux:** Unpack the archive, rename 'bitcoind' to 'bitcoind-abc' and
+>> copy it to /usr/local/bin.
+
+> **Litecoin (optional):**
+
+>> **Windows:** Run the Windows installer with the default settings.  Add
+>> 'C:\Program Files\Litecoin\daemon' to your [path][05].  
+>> **Linux:** Unpack the archive and copy the 'litecoind' and
+>> 'litecoin-cli' binaries to /usr/local/bin.
+
+### <a name='a_r'>Run (both online and offline computers):</a>
+
+> **Windows:**
+
+>> In the Windows command-line environment processes don't fork to run in the
+>> background, so to run multiple daemons simultaneously you must start each
+>> one in a separate terminal window.  Start your daemons like this:
+
+		# Bitcoin Core:
+		$ bitcoind
 
-> **Windows users:**
+		# ABC:
+		$ mkdir $APPDATA/Bitcoin_ABC
+		$ bitcoind-abc --listen=0 --rpcport=8442 --datadir=$APPDATA/Bitcoin_ABC
 
->> Run the Windows installer.  When it's finished, determine where it installed
->> 'bitcoind.exe' (probably in `C:\Program Files\Bitcoin\daemon`) and append
->> that path to your [PATH variable][05].
+		# Litecoin
+		$ litecoind
 
-> **Linux users:**
+>> Note that the `--listen=0` argument is required only when running Core and ABC simultaneously.
 
->> Unpack the tar archive and copy the bitcoind executable in bin/ to your
->> execution path or just run it in place.
+> **Linux:**
 
-### Run (both Windows and Linux):
+>> Linux users start their daemons like this:
 
-> **On the online computer:**
+		# Bitcoin Core:
+		$ bitcoind --daemon
 
->> Open a terminal and start bitcoind with the command:
+		# ABC:
+		$ mkdir ~/.bitcoin-abc
+		$ bitcoind-abc --daemon --listen=0 --rpcport=8442 --datadir=$HOME/.bitcoin-abc
 
-		$ bitcoind -daemon
+		# Litecoin:
+		$ litecoind --daemon
 
->> Warning: If you're using an existing Bitcoin Core installation, **move your
->> wallet.dat out of harm's way** before starting bitcoind.  The new wallet now
->> created will be used as your **tracking wallet**.
+> Communicate with your daemons like this:
 
->> If you're connected to the Internet, bitcoind will begin downloading and
->> verifying the blockchain.  This can take from several hours to several days
->> (depending on the speed of your computer) for an initial download.
+		# Core:
+		$ bitcoin-cli help
 
-> **On the offline computer:**
+		# ABC:
+		$ bitcoin-cli --rpcport=8442 help
 
->> Open a terminal and start bitcoind with the command:
+		# Litecoin:
+		$ litecoin-cli help
 
-		$ bitcoind -daemon -maxconnections=0 -listen=0
+> Warning: If you're using an existing Bitcoin or Litecoin installation, **move
+> your wallet.dat out of harm's way** before starting the daemon.  The new
+> wallet now created will be used as your **tracking wallet**.
 
->> Note that in the absence of a blockchain the offline daemon starts very
->> quickly and uses practically no CPU once running.
+> If you're connected to the Internet, bitcoind will begin downloading and
+> verifying the blockchain.  This can take from several hours to several days
+> depending on the speed of your computer and Internet connection.  You can
+> speed up your initial block download enormously by adding the `-assumevalid`
+> option, followed by a recent block hash, to the command line.  Recent block
+> hashes can be found on any blockchain explorer site.
 
->> *Note for Windows users:* Under Windows, the bitcoind daemon doesn't fork to
->> run as a background process, so you'll have to run it in a separate terminal
->> window
+> For the offline daemons you may add the options `-maxconnections=0 -listen=0`
+> to the command line.  Note that offline daemons start very quickly, since they
+> have no blockchains, and use practically no CPU once running.
 
 [01]: https://bitcoin.org/en/download
 [bd]: https://bitcoin.org/bin/blockchain/
 [05]: Editing-the-user-path-in-Windows
 [abc]: https://download.bitcoinabc.org/
+[lc]: https://download.litecoin.org/litecoin-0.15.0.1rc1/

+ 1 - 1
doc/wiki/install-linux/Install-MMGen-on-Debian-or-Ubuntu-Linux.md

@@ -2,7 +2,7 @@
 
 > 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 python-setuptools
+		$ sudo apt-get install python-pip python-dev python-pexpect python-ecdsa python-scrypt libssl-dev git autoconf libtool wipe python-setuptools libgmp-dev
 
 > Install the Python Cryptography Toolkit:
 

+ 92 - 43
doc/wiki/install-mswin/Install-Bitcoind.md

@@ -1,82 +1,131 @@
-## Installing the Bitcoin daemon
+## Install Bitcoind and other supported coin daemons
 
 The bitcoin daemon on the **offline computer** is used solely to sign
 transactions and runs without a blockchain.  Thus even a low-powered computer
-such as a netbook will suffice as your offline machine.
+such as a Raspberry Pi or an old netbook can serve nicely as your offline
+machine.
 
 The bitcoin daemon on the **online computer** requires a complete and
 up-to-date blockchain for tracking addresses.  Since its work is more CPU and
-disk intensive, a more powerful computer is recommended here.  You'll also
-need plenty of free disk space for the rapidly growing blockchain (~100GB at
-the time of writing).
+disk intensive, a more powerful computer is required here.  You'll also need
+plenty of free disk space for the growing blockchain (~160GB at the time of
+writing).
 
 Two blockchain operations are especially resource-intensive: **synchronizing
 the blockchain** and **importing existing addresses with balances**.  If you
 synchronize often (once a week, for example) and take care to import your
-addresses **before** spending into them, then it's possible to use a
-low-powered netbook as your online machine.
+addresses **before** spending into them, then it's possible to get by with a
+more low-powered computer as your online machine.
 
-### Download:
+### <a name='a_d'>Download:</a>
 
 > **Bitcoin Core:**
 
->> Go to the Bitcoin Core [main download page][01].  Choose the 32-bit or 64-bit
->> versions appropriate for your online and offline computers.
+>> Go to the Bitcoin Core [download page][01].  Choose the 32-bit or 64-bit
+>> versions appropriate for your online and offline computers.  Windows users
+>> should choose the executable installer.
 
 > **Bitcoin ABC (optional):**
 
->> If you wish to transact BCH, a.k.a "Bitcoin Cash” or “Bcash”, then download
->> the appropriate [Bitcoin ABC binary][abc] for your system as well.  Windows
->> users should download the zip file rather than the installer.  Both Windows
->> and Linux users **must** rename the binary to 'bitcoind-abc' before
->> installing it in their executable path.
-
->> *Regard the Bitcoin ABC binaries as untrusted software.  The author of the
+>> If you wish to transact BCH (Bcash), then download the appropriate [Bitcoin
+>> ABC binary][abc] for your system as well.  Windows users should choose the
+>> executable installer.  
+>> *Consider the Bitcoin ABC binaries untrusted software.  The author of the
 >> MMGen project makes no guarantees regarding their safety or reliability.*
 
-### Install (both online and offline computers):
+> **Litecoin (optional):**
+
+>> Go to the Litecoin Core [download page][lc].  Choose the 32-bit or 64-bit
+>> versions appropriate for your online and offline computers.  Windows users
+>> should choose the executable installer.
+
+### <a name='a_i'>Install (both online and offline computers):</a>
+
+> **Bitcoin Core:**
+
+>> **Windows:** Run the Windows installer with the default settings.  Add
+>> 'C:\Program Files\Bitcoin\daemon' to your [path][05].  
+>> **Linux:** Unpack the archive and copy the 'bitcoind' and 'bitcoin-cli'
+>> binaries to /usr/local/bin.
+
+> **Bitcoin ABC (optional):**
+
+>> **Windows:** Run the Windows installer, installing into the alternate
+>> folder 'C:\Program Files\Bitcoin_ABC'. Add 'C:\Program Files\Bitcoin_ABC\daemon'
+>> to your [path][05]. Rename the file 'bitcoind' in that folder to
+>> 'bitcoind-abc'.  
+>> **Linux:** Unpack the archive, rename 'bitcoind' to 'bitcoind-abc' and
+>> copy it to /usr/local/bin.
+
+> **Litecoin (optional):**
+
+>> **Windows:** Run the Windows installer with the default settings.  Add
+>> 'C:\Program Files\Litecoin\daemon' to your [path][05].  
+>> **Linux:** Unpack the archive and copy the 'litecoind' and
+>> 'litecoin-cli' binaries to /usr/local/bin.
+
+### <a name='a_r'>Run (both online and offline computers):</a>
+
+> **Windows:**
+
+>> In the Windows command-line environment processes don't fork to run in the
+>> background, so to run multiple daemons simultaneously you must start each
+>> one in a separate terminal window.  Start your daemons like this:
+
+		# Bitcoin Core:
+		$ bitcoind
 
-> **Windows users:**
+		# ABC:
+		$ mkdir $APPDATA/Bitcoin_ABC
+		$ bitcoind-abc --listen=0 --rpcport=8442 --datadir=$APPDATA/Bitcoin_ABC
 
->> Run the Windows installer.  When it's finished, determine where it installed
->> 'bitcoind.exe' (probably in `C:\Program Files\Bitcoin\daemon`) and append
->> that path to your [PATH variable][05].
+		# Litecoin
+		$ litecoind
 
-> **Linux users:**
+>> Note that the `--listen=0` argument is required only when running Core and ABC simultaneously.
 
->> Unpack the tar archive and copy the bitcoind executable in bin/ to your
->> execution path or just run it in place.
+> **Linux:**
 
-### Run (both Windows and Linux):
+>> Linux users start their daemons like this:
 
-> **On the online computer:**
+		# Bitcoin Core:
+		$ bitcoind --daemon
 
->> Open a terminal and start bitcoind with the command:
+		# ABC:
+		$ mkdir ~/.bitcoin-abc
+		$ bitcoind-abc --daemon --listen=0 --rpcport=8442 --datadir=$HOME/.bitcoin-abc
 
-		$ bitcoind -daemon
+		# Litecoin:
+		$ litecoind --daemon
 
->> Warning: If you're using an existing Bitcoin Core installation, **move your
->> wallet.dat out of harm's way** before starting bitcoind.  The new wallet now
->> created will be used as your **tracking wallet**.
+> Communicate with your daemons like this:
 
->> If you're connected to the Internet, bitcoind will begin downloading and
->> verifying the blockchain.  This can take from several hours to several days
->> (depending on the speed of your computer) for an initial download.
+		# Core:
+		$ bitcoin-cli help
 
-> **On the offline computer:**
+		# ABC:
+		$ bitcoin-cli --rpcport=8442 help
 
->> Open a terminal and start bitcoind with the command:
+		# Litecoin:
+		$ litecoin-cli help
 
-		$ bitcoind -daemon -maxconnections=0 -listen=0
+> Warning: If you're using an existing Bitcoin or Litecoin installation, **move
+> your wallet.dat out of harm's way** before starting the daemon.  The new
+> wallet now created will be used as your **tracking wallet**.
 
->> Note that in the absence of a blockchain the offline daemon starts very
->> quickly and uses practically no CPU once running.
+> If you're connected to the Internet, bitcoind will begin downloading and
+> verifying the blockchain.  This can take from several hours to several days
+> depending on the speed of your computer and Internet connection.  You can
+> speed up your initial block download enormously by adding the `-assumevalid`
+> option, followed by a recent block hash, to the command line.  Recent block
+> hashes can be found on any blockchain explorer site.
 
->> *Note for Windows users:* Under Windows, the bitcoind daemon doesn't fork to
->> run as a background process, so you'll have to run it in a separate terminal
->> window
+> For the offline daemons you may add the options `-maxconnections=0 -listen=0`
+> to the command line.  Note that offline daemons start very quickly, since they
+> have no blockchains, and use practically no CPU once running.
 
 [01]: https://bitcoin.org/en/download
 [bd]: https://bitcoin.org/bin/blockchain/
 [05]: Editing-the-user-path-in-Windows
 [abc]: https://download.bitcoinabc.org/
+[lc]: https://download.litecoin.org/litecoin-0.15.0.1rc1/

+ 66 - 41
doc/wiki/using-mmgen/Getting-Started-with-MMGen.md

@@ -27,6 +27,8 @@
 	* <a href='#a_rbf_onl'>With an online (hot) wallet</a>
 	* <a href='#a_rbf_onf'>With an offline (cold storage) wallet</a>
 
+#### <a href='#a_alt'>Forkcoin and Altcoin support (BCH,LTC)</a>
+
 ### <a name='a_i'>Preliminaries</a>
 
 #### <a name='a_bb'>Before you begin</a>
@@ -50,12 +52,12 @@ followed by `--help`.  Note that most command options have long and short
 versions.  For example, the `--help` option may be abbreviated to `-h`.
 Exceptions are the options listed by `--longhelp`, which have no short versions.
 
-MMGen commands are generally interactive, informing you at every step and
+MMGen commands are generally interactive, providing you with information and
 prompting you for input.  The `--verbose` or `-v` option requests commands to be
 more wordy, while the `--quiet` or `-q` option suppresses all but the most
 essential information.  These options are available for all MMGen commands.  The
 `--yes` option (available only for certain commands) suppresses even more
-information and can be used to make some commands non-interactive or scriptable.
+information and can be used to make some commands non-interactive and scriptable.
 
 Certain options require parameters, such as the `--seed-len` option, for
 instance, which takes a parameter of '128', '192' or '256'.  Commands may also
@@ -75,7 +77,7 @@ Sample MMGen command invocations:
 Just like Bitcoin Core, MMGen has its own data directory and configuration file.
 The data directory is '.mmgen' in the user's home directory and the config
 file is 'mmgen.cfg'.  The config file contains global settings which you may
-wish to edit at some point to customize MMGen to your needs.  These settings
+wish to edit at some point to customize your installation.  These settings
 include the maximum transaction fee; the user name, password and hostname
 used for communicating with bitcoind; and a number of others.
 
@@ -87,15 +89,15 @@ import operations on an offline computer with no blockchain and no bitcoin
 balance.
 
 If you want to practice creating, signing and sending transactions with real
-bitcoins, however, you'll need a fully synced blockchain and some actual coins
-to play with.
+bitcoins, however, you'll need a fully synced blockchain and some coins to play
+with.  This involves an expenditure of both time and money.
 
-Fortunately, there's an alternative: MMGen's **regtest mode** feature creates a
-virtual network of two users, Bob and Alice, who transact with each other on a
-private blockchain.  All of MMGen's functionality is available in regtest mode,
-making it an ideal way to learn to use the MMGen wallet without risking real
-coins.  You may wish to pause here and perform the steps in the tutorial [MMGen
-Quick Start with Regtest Mode][06] before continuing on.
+Fortunately, there's an alternative: MMGen's **regtest mode** creates a virtual
+network of two users, Bob and Alice, who transact with each other on a private
+blockchain.  All of MMGen's functionality is available in regtest mode, making
+it an ideal way to learn to use the MMGen wallet without risking real coins.
+You may wish to pause here and perform the steps in the tutorial [MMGen Quick
+Start with Regtest Mode][06] before continuing on.
 
 ### <a name='a_bo'>Basic Operations</a>
 
@@ -124,8 +126,9 @@ On your offline computer, generate an MMGen wallet:
 generated, so your IDs will of course be different than these.
 
 The Seed ID never changes and is used to identify all keys/addresses generated
-by this wallet.  You should make a note of it.  The Key ID changes whenever the
-wallet’s password or hash preset are changed and is less important.
+by this wallet.  Since it's your wallet's primary identifier, you should
+memorize it visually.  The Key ID changes whenever the wallet’s password or hash
+preset are changed and doesn't need to be memorized.
 
 ‘256’ is the seed length; ‘3’ is the scrypt hash preset.  These values are
 configurable: type `mmgen-walletgen --help` for details.
@@ -176,9 +179,9 @@ backwards compatibility, legacy addresses are generated by default.  To generate
 compressed addresses, specify `--type=compressed` on the command line.
 
 Legacy addresses are of interest only for existing pre-Segwit MMGen
-installations, so it's unlikely you'll wish to generate them.  Compressed
-addresses are the preferable choice for Bitcoin Cash (BCH) wallets, since
-Bitcoin Cash doesn't support Segwit.
+installations, and it's unlikely you'll wish to generate them.  Compressed
+addresses are the preferred choice for Bitcoin Cash (BCH) wallets, since Bitcoin
+Cash doesn't support Segwit.
 
 		# legacy uncompressed
 		$ mmgen-addrgen 1-10
@@ -196,13 +199,13 @@ Bitcoin Cash doesn't support Segwit.
 		  1   13jbRxWjswXtaDzLBJDboMcIe6nLohFb9M
 		...
 
-Note that for non-legacy address types the code letter is present in the
+Note that for non-legacy address types the code letter is included in the
 filename.
 
 To fund your MMGen wallet, first import the addresses into your tracking wallet
 and then spend some BTC into any of them.  If you run out of addresses, generate
-more.  To generate a hundred addresses, for example, you’d specify an address
-range of ‘1-100’.
+more.  To generate a hundred addresses you’d specify an address range of
+‘1-100’.
 
 Let’s say you’ve decided to spend some BTC into the first four addresses above.
 Begin by importing these addresses into the tracking wallet on your online
@@ -243,8 +246,8 @@ Save the file, copy it onto a USB stick and transfer it to your online computer.
 
 On your online computer, go to your bitcoind data directory and move any
 existing 'wallet.dat' file out of harm’s way.  Start bitcoind and let it
-generate a new 'wallet.dat', which you’ll use as your tracking wallet.
-Import your ten addresses into the new tracking wallet with the command:
+generate a new 'wallet.dat'; this you’ll use as your tracking wallet.  Import
+your ten addresses into the new tracking wallet with the command:
 
 		$ mmgen-addrimport --batch my.addrs
 
@@ -269,10 +272,10 @@ track and spend funds from another wallet using MMGen without having to go
 through the network.  To use it, you must save the keys corresponding to the
 addresses where the funds are stored in a separate file to use during signing.*
 
-Note that each address has a unique ID (the ‘MMGen ID’) consisting of its Seed
-ID, its address type code letter and its index.  Addresses of different types
-may be imported into the same tracking wallet; since they're generated from
-different sub-seeds you needn't worry about key reuse.
+Note that each address has a unique ID (the ‘MMGen ID’) consisting of a Seed ID,
+address type code letter, and index.  Addresses of different types may be
+imported into the same tracking wallet; since they're generated from different
+sub-seeds you needn't worry about key reuse.
 
 Now that your addresses are being tracked, you may go ahead and send some BTC to
 them over the Bitcoin network.  If you send 0.1, 0.2, 0.3 and 0.4 BTC
@@ -304,10 +307,9 @@ issue the following command:
 
 'mmgen-txcreate' accepts either MMGen IDs or Bitcoin addresses as arguments.
 
-NOTE: For backwards compatibility, the code letter may be omitted from the MMGen
-ID for legacy addresses.  Thus address ‘89ABCDEF:L:5’, for example, may be
-expressed as ‘89ABCDEF:5’.  For other address types the code letter is
-mandatory.
+NOTE: For backwards compatibility, legacy addresses may omit the code letter
+from the MMGen ID.  Thus address ‘89ABCDEF:L:5’ may be expressed as
+‘89ABCDEF:5’.  For other address types the code letter is mandatory.
 
 To send 0.1 BTC to each of addresses 89ABCDEF:S:6 and 89ABCDEF:S:7 and return
 the change to 89ABCDEF:S:8, you’d do this:
@@ -317,7 +319,7 @@ the change to 89ABCDEF:S:8, you’d do this:
 As you can see, each send address is followed by a comma and the amount.  The
 address with no amount is the change address.  All addresses belonging to your
 seed in the above examples are already imported and tracked, so you’re OK.  If
-you wanted to send to 89ABCDEF:S:11 instead, you'd have to import it first.
+you wanted to send to 89ABCDEF:S:11, you'd have to import it first.
 
 
 Let’s go with the first of our two examples above.
@@ -406,7 +408,7 @@ of MMGen’s more advanced features, continue reading.
 
 #### <a name='a_ms'>Using the mnemonic, seed and hexseed formats</a>
 
-Continuing our example above, generate a mnemonic from the default wallet:
+Using your default wallet from the exercises above, generate a mnemonic:
 
 		$ mmgen-walletconv -o words
 		...
@@ -501,8 +503,9 @@ standard command-line tools:
 		$ echo 456d 7f5f 1c4b fe3b c916 b875 60ae 6a3e | tr -d ' ' | xxd -r -p | sha256sum -b | xxd -r -p | sha256sum -b | cut -c 1-8
 		fe3c6545
 
-A hexseed can be used to generate keys even without the MMGen software,
-using basic command-line utilities, as explained in [this tutorial][03].
+Mnemonics and hexseeds can be used to generate keys even without the MMGen
+software, using basic command-line utilities, as explained in [this
+tutorial][03].
 
 #### <a name='a_ai'>Mnemonics, seeds and hexseeds: additional information</a>
 
@@ -512,21 +515,28 @@ format:
 
 		$ mmgen-addrgen -i words 1-10
 		...
-		Enter mnemonic data: <type or paste your mnemonic here>
+		Choose a mnemonic length: 1) 12 words, 2) 18 words, 3) 24 words: 1
+		Mnemonic length of 12 words chosen. OK? (Y/n): y
+		Enter your 12-word mnemonic, hitting RETURN or SPACE after each word:
+		Enter word #1:
+
+MMGen prompts you for each of the mnemonic's words individually, checking it for
+validity and reprompting if necessary.  What you type is not displayed on the
+screen of course, being secret data.
 
-This means that you may keep your seed entirely in your head, as either a
-mnemonic, seed or hexseed, and never record it anywhere on any medium.
+The mnemonic prompt feature allows you to store and use your seed entirely in
+your head if you wish, never recording it on a persistent physical medium.
 
 With the `-S` option, MMGen commands may be requested to print wallet data to
-screen instead of a file.  To safeguard against over-the-shoulder, Van Eck
-phreaking and other side-channel attacks, you’ll be prompted before this
-sensitive data is actually displayed.  MMGen never prints unencrypted private
-data to screen by default.
+screen instead of a file.  To safeguard against over-the-shoulder, Tempest and
+other side-channel attacks, you’ll be prompted before this sensitive data is
+actually displayed.  MMGen never prints decrypted private data to screen unless
+you ask it to.
 
 The output of any MMGen command may be written to a directory of your choice
 using the `-d` option.  For example, on a Linux system you can use
 `-d /dev/shm` to write keys and seeds to volatile memory instead of disk,
-ensuring that no trace of this sensitive data remains once your computer’s been
+ensuring that no trace of secret data remains once your computer’s been
 powered down.
 
 #### <a name='a_ic'>Incognito wallets</a>
@@ -838,9 +848,24 @@ them in turn until you get a confirmation:
 		$ mmgen-txsend 124FFF[0.1,150].sigtx  # ...if this doesn't confirm, then
 		$ mmgen-txsend 73DABB[0.1,200].sigtx
 
+### <a name='a_alt'>Forkcoin and Altcoin support (BCH,LTC)</a>
+
+To use MMGen with Bitcoin Cash (BCH) or Litecoin (LTC), first make sure the
+Bitcoin ABC or Litecoin daemon is properly installed
+([source][si])([binaries][bi]) and [running][p8].
+
+MMGen requires that the bitcoin-abc daemon be listening on non-standard
+[port 8442][p8].
+
+Then just add the `--coin=bch` or `--coin=ltc` option to all your MMGen
+commands.  It's that simple!
+
 [01]: https://github.com/mmgen/mmgen/wiki/Tracking-and-spending-ordinary-Bitcoin-addresses
 [02]: https://tpfaucet.appspot.com
 [03]: Recovering-Your-Keys-Without-the-MMGen-Software
 [04]: https://bitcoin.org/en/developer-examples#testnet
 [05]: https://bitcoin.org/en/developer-examples#regtest-mode
 [06]: https://github.com/mmgen/mmgen/wiki/MMGen-Quick-Start-with-Regtest-Mode
+[si]: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux
+[bi]: Install-Bitcoind#a_d
+[p8]: Install-Bitcoind#a_r

+ 7 - 0
doc/wiki/using-mmgen/MMGen-Quick-Start-with-Regtest-Mode.md

@@ -34,6 +34,9 @@ This tutorial provides a quick, hands-on introduction.
 		...
 		Type uppercase 'YES' to confirm: YES
 
+	Since your Bob has a different Seed ID, your address filename will of course
+	be different than this one.
+
 5. List the addresses in Bob's tracking wallet.  You'll see the addresses you
 just imported:
 
@@ -50,6 +53,8 @@ just imported:
 
 		$ mmgen-regtest send mw42oJ94yRA6ZUNSzmMpjZDR74JNyvqzzZ 500
 
+	Don't forget to substitute your C:1 address for the one above!
+
 7. Make sure the funds reached their destination:
 
 		$ mmgen-tool --bob listaddresses showempty=1
@@ -93,6 +98,8 @@ Specify a fee of 20 satoshis/byte and make output quieter:
 		Type uppercase 'YES' to confirm: YES
 		Transaction sent: 78ca853816b55527b42ca8784c887a5f482c752522f914d2f17d6afcd8a3b076
 
+	Don't forget to use your Alice's Seed ID here, instead of '9304C211'.
+
 	Note that for simplicity's sake this tutorial uses the `mmgen-txdo` command
 	to create, sign and send transactions in one operation.  In normal, cold
 	wallet mode, your seed will be held on a separate offline computer which

+ 1 - 1
mmgen/globalvars.py

@@ -39,7 +39,7 @@ class g(object):
 	# Constants:
 
 	version      = '0.9.499'
-	release_date = 'October 2017'
+	release_date = 'November 2017'
 
 	proj_name = 'MMGen'
 	proj_url  = 'https://github.com/mmgen/mmgen'