From 2e11fea71e2e68d6ff3e23d9d3d522bf1f1ee8ef Mon Sep 17 00:00:00 2001 From: philemon Date: Sat, 5 Aug 2017 11:35:07 +0300 Subject: [PATCH] modified: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md modified: Install-Bitcoind.md modified: Install-MMGen-on-Debian-or-Ubuntu-Linux.md --- ...d-from-Source-on-Debian-or-Ubuntu-Linux.md | 74 +++++++++++++++---- Install-Bitcoind.md | 18 ++++- Install-MMGen-on-Debian-or-Ubuntu-Linux.md | 44 ++++++----- 3 files changed, 100 insertions(+), 36 deletions(-) diff --git a/Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md b/Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md index c8d1a6c..5e9f8a0 100644 --- a/Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md +++ b/Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md @@ -1,14 +1,22 @@ -Make sure that the following development packages for the boost library are -installed (package names may vary; the version should be 1.48 or greater, and -version 1.54 on Ubuntu 13.10 is reported not to work): +***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 +[binary installation page][01] for details.*** + +### Install dependencies: + +> Make sure the required boost library development packages are installed: sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev -You'll also need some standard dependencies if they're not already on your system: +> You'll also need the following standard dependencies, if they're not already on +> your system: sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libdb-dev libdb++-dev libevent-dev -Clone the bitcoin repository from Github, configure, and build: +### Compile and install Bitcoin Core: + +> Clone the Bitcoin Core repository from Github, configure, and build: $ git clone https://github.com/bitcoin/bitcoin.git $ cd bitcoin @@ -16,18 +24,54 @@ Clone the bitcoin repository from Github, configure, and build: $ ./configure --without-gui --with-incompatible-bdb $ make -j4 -The '-j4' option will speed the build process up by using 4 cores of a 4-core -processor, if you have them. If overheating issues are a problem for your CPU -or you're short on memory, you may want to omit it or use '-j2'. Due to lack of -memory, the build will probably fail on a Raspberry PI or similar hardware, -even with optimization turned off. +> The '-j4' option will speed the build process up by using 4 cores of a 4-core +> processor, if you have them. If overheating issues are a problem for your CPU +> or you're short on memory, you may want to omit it or use '-j2'. -For more detailed build information, consult the file [doc/build-unix.md][bu] -in the bitcoin source repository. +> For more detailed build information, consult the file [doc/build-unix.md][bu] +> in the bitcoin source repository. -Your freshly compiled bitcoind daemon is now in the src/ directory. Refer to -**Run:** on the [binary installation page][01] for instructions on running -bitcoind. +> Your freshly compiled bitcoind daemon is now in the src/ directory. Install +> 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 + +### 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.* + +> 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 +> with Bitcoin Core above: + + $ git clone https://github.com/Bitcoin-ABC/bitcoin-abc + $ cd bitcoin-abc + $ ./autogen.sh + $ ./configure --without-gui --with-incompatible-bdb + $ make -j4 + +> The resulting executable is also named 'bitcoind', so you must install it +> under a different name to avoid overwriting your Core daemon: + + $ cd src + $ strip bitcoind bitcoin-cli + $ sudo cp 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: + + $ 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 + +Refer to **Run:** on the [binary installation page][01] for instructions on +running your freshly compiled bitcoin daemon(s). [01]: Install-Bitcoind [dl]: https://bitcoin.org/en/download diff --git a/Install-Bitcoind.md b/Install-Bitcoind.md index 3315007..422f3d2 100644 --- a/Install-Bitcoind.md +++ b/Install-Bitcoind.md @@ -18,8 +18,21 @@ low-powered netbook as your online machine. ### Download: -> Go to the Bitcoin Core [main download page][01]. Choose the 32-bit or 64-bit -> versions appropriate for your online and offline computers. +> **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. + +> **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 +>> MMGen project makes no guarantees regarding their safety or reliability.* ### Install (both online and offline computers): @@ -66,3 +79,4 @@ low-powered netbook as your online machine. [01]: https://bitcoin.org/en/download [bd]: https://bitcoin.org/bin/blockchain/ [05]: Editing-the-user-path-in-Windows +[abc]: https://download.bitcoinabc.org/ diff --git a/Install-MMGen-on-Debian-or-Ubuntu-Linux.md b/Install-MMGen-on-Debian-or-Ubuntu-Linux.md index 998e6e9..aedefcc 100644 --- a/Install-MMGen-on-Debian-or-Ubuntu-Linux.md +++ b/Install-MMGen-on-Debian-or-Ubuntu-Linux.md @@ -1,14 +1,14 @@ #### Perform the following steps on both your online and offline computers: -Install required Debian/Ubuntu packages: +> 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 -Install the Python Cryptography Toolkit: +> Install the Python Cryptography Toolkit: $ sudo -H pip install pycrypto -Install the secp256k1 library: +> Install the secp256k1 library: $ git clone https://github.com/bitcoin-core/secp256k1.git $ cd secp256k1 @@ -19,7 +19,7 @@ Install the secp256k1 library: $ sudo ldconfig $ cd .. -Install MMGen: +> Install MMGen: $ git clone https://github.com/mmgen/mmgen.git $ cd mmgen @@ -27,24 +27,30 @@ Install MMGen: $ sudo ./setup.py install $ cd .. -Install bitcoind: +> Install the bitcoind daemon(s): -> To install prebuilt binaries, click [here][01]. To install from source, -> click [here][02]. +> To install prebuilt binaries, go [here][01]. To install from source, go +> [here][02]. -**NB:** Naturally, your offline machine must be connected to the Internet to -retrieve and install the above packages as described above. If your offline -machine is already offline and you wish to leave it that way, then you'll be -forced to take roughly the following steps: +#### Note for offline machines: -> From your online machine, download the Debian/Ubuntu packages and their -> dependencies manually from packages.debian.org or packages.ubuntu.com, and the -> Python packages from pypi.python.org/pypi/<packagename>. Transfer these -> files and the git repositories you've cloned to your offline computer using a -> USB stick or other means at your disposal. Install the Debian/Ubuntu packages -> with 'sudo dpkg -i', unpack each Python module and install it using 'sudo -> ./setup.py install', and install MMGen and the secp256k1 library from the -> copied git repositories as described above. +> Naturally, your offline machine must be connected to the Internet to retrieve +> and install the above packages as described above. This is normally not a +> problem, as you can simply take the machine offline permanently after the +> install is done, preferably removing or disabling its network interfaces. + +> However, if your machine is already offline and you wish to leave it that way, +> or if it lacks a network interface entirely, then you'll need to take roughly +> the following steps: + +>> From your online machine, download the Debian/Ubuntu packages and their +>> dependencies manually from packages.debian.org or packages.ubuntu.com, and +>> the Python packages from pypi.python.org/pypi/<packagename>. Transfer +>> these files and the cloned Git repositories to your offline computer using a +>> USB stick or other storage medium. Install the Debian/Ubuntu packages with +>> 'sudo dpkg -i', unpack each Python module and install it using 'sudo +>> ./setup.py install', and install MMGen and the secp256k1 library from the +>> copied Git repositories as described above. Congratulations, your installation is now complete! Now proceed to [**Getting Started with MMGen**][gs].