Documentation updates
This commit is contained in:
parent
8fb3efd99c
commit
41460cb2fd
8 changed files with 288 additions and 150 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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):**
|
||||
|
||||
> **Windows users:**
|
||||
>> 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.
|
||||
|
||||
>> 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].
|
||||
### <a name='a_i'>Install (both online and offline computers):</a>
|
||||
|
||||
> **Linux users:**
|
||||
> **Bitcoin Core:**
|
||||
|
||||
>> Unpack the tar archive and copy the bitcoind executable in bin/ to your
|
||||
>> execution path or just run it in place.
|
||||
>> **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.
|
||||
|
||||
### Run (both Windows and Linux):
|
||||
> **Bitcoin ABC (optional):**
|
||||
|
||||
> **On the online computer:**
|
||||
>> **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.
|
||||
|
||||
>> Open a terminal and start bitcoind with the command:
|
||||
> **Litecoin (optional):**
|
||||
|
||||
$ bitcoind -daemon
|
||||
>> **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.
|
||||
|
||||
>> 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**.
|
||||
### <a name='a_r'>Run (both online and offline computers):</a>
|
||||
|
||||
>> 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.
|
||||
> **Windows:**
|
||||
|
||||
> **On the offline computer:**
|
||||
>> 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:
|
||||
|
||||
>> Open a terminal and start bitcoind with the command:
|
||||
# Bitcoin Core:
|
||||
$ bitcoind
|
||||
|
||||
$ bitcoind -daemon -maxconnections=0 -listen=0
|
||||
# ABC:
|
||||
$ mkdir $APPDATA/Bitcoin_ABC
|
||||
$ bitcoind-abc --listen=0 --rpcport=8442 --datadir=$APPDATA/Bitcoin_ABC
|
||||
|
||||
>> Note that in the absence of a blockchain the offline daemon starts very
|
||||
>> quickly and uses practically no CPU once running.
|
||||
# Litecoin
|
||||
$ litecoind
|
||||
|
||||
>> *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
|
||||
>> Note that the `--listen=0` argument is required only when running Core and ABC simultaneously.
|
||||
|
||||
> **Linux:**
|
||||
|
||||
>> Linux users start their daemons like this:
|
||||
|
||||
# Bitcoin Core:
|
||||
$ bitcoind --daemon
|
||||
|
||||
# ABC:
|
||||
$ mkdir ~/.bitcoin-abc
|
||||
$ bitcoind-abc --daemon --listen=0 --rpcport=8442 --datadir=$HOME/.bitcoin-abc
|
||||
|
||||
# Litecoin:
|
||||
$ litecoind --daemon
|
||||
|
||||
> Communicate with your daemons like this:
|
||||
|
||||
# Core:
|
||||
$ bitcoin-cli help
|
||||
|
||||
# ABC:
|
||||
$ bitcoin-cli --rpcport=8442 help
|
||||
|
||||
# Litecoin:
|
||||
$ litecoin-cli help
|
||||
|
||||
> 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**.
|
||||
|
||||
> 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.
|
||||
|
||||
> 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/
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
||||
|
|
|
|||
|
|
@ -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):**
|
||||
|
||||
> **Windows users:**
|
||||
>> 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.
|
||||
|
||||
>> 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].
|
||||
### <a name='a_i'>Install (both online and offline computers):</a>
|
||||
|
||||
> **Linux users:**
|
||||
> **Bitcoin Core:**
|
||||
|
||||
>> Unpack the tar archive and copy the bitcoind executable in bin/ to your
|
||||
>> execution path or just run it in place.
|
||||
>> **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.
|
||||
|
||||
### Run (both Windows and Linux):
|
||||
> **Bitcoin ABC (optional):**
|
||||
|
||||
> **On the online computer:**
|
||||
>> **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.
|
||||
|
||||
>> Open a terminal and start bitcoind with the command:
|
||||
> **Litecoin (optional):**
|
||||
|
||||
$ bitcoind -daemon
|
||||
>> **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.
|
||||
|
||||
>> 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**.
|
||||
### <a name='a_r'>Run (both online and offline computers):</a>
|
||||
|
||||
>> 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.
|
||||
> **Windows:**
|
||||
|
||||
> **On the offline computer:**
|
||||
>> 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:
|
||||
|
||||
>> Open a terminal and start bitcoind with the command:
|
||||
# Bitcoin Core:
|
||||
$ bitcoind
|
||||
|
||||
$ bitcoind -daemon -maxconnections=0 -listen=0
|
||||
# ABC:
|
||||
$ mkdir $APPDATA/Bitcoin_ABC
|
||||
$ bitcoind-abc --listen=0 --rpcport=8442 --datadir=$APPDATA/Bitcoin_ABC
|
||||
|
||||
>> Note that in the absence of a blockchain the offline daemon starts very
|
||||
>> quickly and uses practically no CPU once running.
|
||||
# Litecoin
|
||||
$ litecoind
|
||||
|
||||
>> *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
|
||||
>> Note that the `--listen=0` argument is required only when running Core and ABC simultaneously.
|
||||
|
||||
> **Linux:**
|
||||
|
||||
>> Linux users start their daemons like this:
|
||||
|
||||
# Bitcoin Core:
|
||||
$ bitcoind --daemon
|
||||
|
||||
# ABC:
|
||||
$ mkdir ~/.bitcoin-abc
|
||||
$ bitcoind-abc --daemon --listen=0 --rpcport=8442 --datadir=$HOME/.bitcoin-abc
|
||||
|
||||
# Litecoin:
|
||||
$ litecoind --daemon
|
||||
|
||||
> Communicate with your daemons like this:
|
||||
|
||||
# Core:
|
||||
$ bitcoin-cli help
|
||||
|
||||
# ABC:
|
||||
$ bitcoin-cli --rpcport=8442 help
|
||||
|
||||
# Litecoin:
|
||||
$ litecoin-cli help
|
||||
|
||||
> 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**.
|
||||
|
||||
> 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.
|
||||
|
||||
> 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/
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue