diff --git a/Altcoin-and-Forkcoin-Support.md b/Altcoin-and-Forkcoin-Support.md
index 3c5b29a..cad339b 100644
--- a/Altcoin-and-Forkcoin-Support.md
+++ b/Altcoin-and-Forkcoin-Support.md
@@ -1,24 +1,24 @@
## Table of Contents
-#### Full support for Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens
-* Install and run Parity Ethereum
-* Install the Pyethereum library
-* Transacting and other basic operations
-* Creating and deploying ERC20 tokens
+#### [Full support for Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens](#a_eth)
+* [Install and run Parity Ethereum](#a_par)
+* [Install the Pyethereum library](#a_pe)
+* [Transacting and other basic operations](#a_tx)
+* [Creating and deploying ERC20 tokens](#a_dt)
-#### Full support for Bcash (BCH) and Litecoin
+#### [Full support for Bcash (BCH) and Litecoin](#a_bch)
-#### Enhanced key/address generation support for Monero (XMR) and Zcash (ZEC)
+#### [Enhanced key/address generation support for Monero (XMR) and Zcash (ZEC)](#a_es)
-#### Key/address generation support for 144 Bitcoin-derived altcoins
+#### [Key/address generation support for 144 Bitcoin-derived altcoins](#a_kg)
-#### Full support for Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens
+### Full support for Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens
Ethereum, Ethereum Classic and ERC20 tokens are fully supported by MMGen, on the
same level as Bitcoin. In addition, ERC20 token creation and deployment are
supported via the `create-token.py` script.
-##### Install and run Parity Ethereum
+#### Install and run Parity Ethereum
MMGen uses Parity to communicate with the Ethereum blockchain. For information
on installing Parity on your system, visit the Parity Ethereum [homepage][h] or
@@ -39,7 +39,7 @@ To run the daemon offline, use `--mode=offline`, otherwise `--mode=active`.
You may require other options as well. Consult `parity --help` for the full
list.
-##### Install the Pyethereum library
+#### Install the Pyethereum library
Signing of ETH and ETC transactions is handled by the [pyethereum][y] library.
Unfortunately, Python 2 is not reliably supported by recent versions of
@@ -92,7 +92,7 @@ Basic operations with ETH, ETC and ERC20 tokens work as described in the
* Fees are expressed in Gas price, e.g. `12G` for 12 Gwei or `1000M` for 1000
Mwei. This works both at the command line and interactive prompt.
-**Transacting example:**
+##### Transacting example:
*Note: All addresses and filenames in the examples to follow are bogus. You
must replace them with real ones.*
@@ -140,7 +140,7 @@ Install the Solidity compiler (`solc`) on your system:
$ sudo apt-get install solc
-**Token creation/deployment example:**
+##### Token creation/deployment example:
*Note: All addresses and filenames in the examples to follow are bogus. You
must replace them with real ones.*
@@ -173,7 +173,7 @@ View your MFT tracking wallet:
Other token parameters can also be customized. Type `scripts/create-token.py --help`
for details.
-#### Full support for Bcash (BCH) and Litecoin
+### Full support for Bcash (BCH) and Litecoin
Bcash and Litecoin are fully supported by MMGen, on the same level as Bitcoin.
@@ -188,7 +188,7 @@ MMGen requires that the bitcoin-abc daemon be listening on non-standard
Then just add the `--coin=bch` or `--coin=ltc` option to all your MMGen
commands. It's that simple!
-#### Enhanced key/address generation support for Monero (XMR) and Zcash (ZEC)
+### Enhanced key/address generation support for Monero (XMR) and Zcash (ZEC)
MMGen's enhanced key/address generation support for Zcash and Monero includes
**Zcash z-addresses** and automated Monero wallet creation.
@@ -242,7 +242,7 @@ includes another utility:
This command also requires no user interaction, a very handy feature when you
have a large batch of wallets requiring long sync times.
-#### Key/address generation support for 144 Bitcoin-derived altcoins
+### Key/address generation support for 144 Bitcoin-derived altcoins
To generate key/address pairs for these coins, just specify the coin's symbol
with the `--coin` argument:
diff --git a/Getting-Started-with-MMGen.md b/Getting-Started-with-MMGen.md
index f5519b4..691b429 100644
--- a/Getting-Started-with-MMGen.md
+++ b/Getting-Started-with-MMGen.md
@@ -1,31 +1,31 @@
## Table of Contents
-#### Preliminaries
-* Before you begin
-* Invocation
-* Configuration file
-* Bob and Alice regtest mode
+#### [Preliminaries](#a_i)
+* [Before you begin](#a_bb)
+* [Invocation](#a_iv)
+* [Configuration file](#a_cf)
+* [Bob and Alice regtest mode](#a_ts)
-#### Basic Operations
-* Generate an MMGen wallet
-* Generate addresses
-* Import addresses
-* Create a transaction
-* Sign a transaction
-* Send a transaction
+#### [Basic Operations](#a_bo)
+* [Generate an MMGen wallet](#a_gw)
+* [Generate addresses](#a_ga)
+* [Import addresses](#a_ia)
+* [Create a transaction](#a_ct)
+* [Sign a transaction](#a_sg)
+* [Send a transaction](#a_st)
-#### Additional Features
-* Using the mnemonic, seed and hexseed formats
-* Mnemonics, seeds and hexseeds: additional information
-* Incognito wallets
- * Hidden incognito wallets
+#### [Additional Features](#a_af)
+* [Using the mnemonic, seed and hexseed formats](#a_ms)
+* [Mnemonics, seeds and hexseeds: additional information](#a_ai)
+* [Incognito wallets](#a_ic)
+ * [Hidden incognito wallets](#a_hi)
-#### Advanced Topics
-* Hot wallets and key-address files
-* Transaction Fees
-* BIP 125 replace-by-fee (RBF) transactions
- * With an online (hot) wallet
- * With an offline (cold storage) wallet
+#### [Advanced Topics](#a_at)
+* [Hot wallets and key-address files](#a_hw)
+* [Transaction Fees](#a_fee)
+* [BIP 125 replace-by-fee (RBF) transactions](#a_rbf)
+ * [With an online (hot) wallet](#a_rbf_onl)
+ * [With an offline (cold storage) wallet](#a_rbf_onf)
### Preliminaries
@@ -142,8 +142,8 @@ Since the wallet is a small, humanly readable ASCII file, it can easily be
printed out on paper.
Another highly recommended way to back up your wallet is to generate a mnemonic
-or seed file as described below and memorize it. If you
-have an average or better memory, you'll find memorizing your mnemonic to be
+or seed file [as described below](#a_ms) and memorize it. If you have an
+average or better memory, you'll find memorizing your mnemonic to be
surprisingly easy. And the peace of mind that comes with knowing that your coins
are recoverable **even if you lose all your physical backups** can't be
overestimated.
diff --git a/Recovering-Your-Keys-Without-the-MMGen-Software.md b/Recovering-Your-Keys-Without-the-MMGen-Software.md
index a3d68f9..85511a4 100644
--- a/Recovering-Your-Keys-Without-the-MMGen-Software.md
+++ b/Recovering-Your-Keys-Without-the-MMGen-Software.md
@@ -1,15 +1,14 @@
## Table of Contents
-
-* Introduction
-* Obtaining the binary seed
- * Convert the seed to binary (legacy uncompressed addresses)
- * Scramble the seed and save to binary (non-legacy and altcoin addresses and passwords)
-* Generating the keys
- * Checking the result (optional, address example)
-* Converting the hex value to a password (password example)
-* Hex to WIF by hand (address example)
- * Base-conversion utility
-* Converting an MMGen mnemonic to hexadecimal format
+* [Introduction](#a_i)
+* [Obtaining the binary seed](#a_rs)
+ * [Convert the seed to binary (legacy uncompressed addresses)](#a_ss)
+ * [Scramble the seed and save to binary (non-legacy and altcoin addresses and passwords)](#a_cs)
+* [Generating the keys](#a_gk)
+ * [Checking the result (optional, address example)](#a_cr)
+* [Converting the hex value to a password (password example)](#a_hpw)
+* [Hex to WIF by hand (address example)](#a_hw)
+ * [Base-conversion utility](#a_bcu)
+* [Converting an MMGen mnemonic to hexadecimal format](#a_mh)
#### Introduction
@@ -208,7 +207,7 @@ hexadecimal keys are all we need. Otherwise, read on.
If it's passwords we're generating, we must now convert our hex key to the
desired password format, base58 in our case. For this we can use the homemade
-`hex2b58.py` Base-conversion utility described below:
+`hex2b58.py` [Base-conversion utility](#a_bcu) described below:
# bd60b8... is the double sha256 of our link1.bin from above
$ ./hex2b58.py bd60b8ba034bbb40498667ee600bc0cc0b99eb19164e8d412a48f16da4e00d6b
diff --git a/_Sidebar.md b/_Sidebar.md
new file mode 100644
index 0000000..a64ebb7
--- /dev/null
+++ b/_Sidebar.md
@@ -0,0 +1,20 @@
+## MMGen Wiki: Contents
+
+### Download/Install
+
+> #### [Install on Microsoft Windows](Install-MMGen-on-Microsoft-Windows)
+
+> #### [Install on Debian, Ubuntu, Raspbian or Armbian Linux](Install-MMGen-on-Debian-or-Ubuntu-Linux)
+
+
+### Using MMGen
+
+> #### [Getting Started with MMGen](Getting-Started-with-MMGen)
+
+> #### [MMGen Quick Start with Regtest Mode](MMGen-Quick-Start-with-Regtest-Mode)
+
+> #### [MMGen command help](MMGen-command-help)
+
+> #### [Recovering your keys without the MMGen software](Recovering-Your-Keys-Without-the-MMGen-Software)
+
+> #### [Altcoin and Forkcoin support (ETH, ETC, XMR, ZEC, LTC, BCH and 144 Bitcoin-derived alts)](Altcoin-and-Forkcoin-Support)