NOTE: the instructions on this page are for a Bitcoin-only setup. For altcoin support, additional installation steps are required. See Altcoin and Forkcoin Support for more information.
For computers with no Internet connection, see Note for offline machines below.
$ sudo apt-get install curl git gcc libtool make autoconf libgmp-dev libssl-dev libpcre3-dev libmpfr-dev libmpc-dev python3-dev python3-pip
$ sudo pacman -S curl git gcc libtool make autoconf automake autogen pcre python-pip
$ python3 -m pip install --user --upgrade pip setuptools build wheel
If you get an ‘externally-managed-environment’ error (with Debian bookworm,
for example), add --break-system-packages
to the command line. Note that this
will not in fact break any system packages, as pip installs all packages under
the user’s home directory when --user
is in effect.
Make sure that ~/.local/bin
is in PATH
. Existing MMGen users should delete
any old installations under /usr
or /usr/local
.
$ git clone https://github.com/mmgen/mmgen.git
$ cd mmgen
$ git checkout stable_linux # see 'Note' below
$ python3 -m build --no-isolation
$ python3 -m pip install --user --upgrade dist/*.whl # see 'Install Note' below
$ cd ..
Note: if you want to use features that have appeared since the latest
stable_linux
release, then you can omit the git checkout
step and remain on
the master
branch. Please bear in mind, however, that while the tip of
master
is always tested on Linux before being pushed to the public repository,
security vulnerabilities are more likely to be present in new code than in a
stable release. In addition, new code may require dependencies or installation
steps not yet covered in the documentation.
Install Note: The --force
and --no-deps
options also come in handy
on occasion.
If you plan to run the test suite, additional installation steps are required. Refer to the Test Suite wiki page for details.
Install your coin daemon(s). To install prebuilt binaries, go here. To install from source, go here.
The computer you’ve designated for offline use 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 it 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:
If your offline and offline computers have the same architecture, then download the Debian/Ubuntu packages and their dependencies on the online one using
apt-get download
. Otherwise, retrieve the packages manually frompackages.debian.org
orpackages.ubuntu.com
.Download any required Python packages using
python3 -m pip download
, or manually from pypi.org if your online and offline computers have different architecture.Transfer the downloaded files and cloned Git repositories to your offline computer using a USB stick or other removable medium. Install the Debian/Ubuntu packages with
sudo dpkg -i
and the Python packages withpython3 -m pip install --user
.Clone the secp256k1 repository and copy it to
~/.cache/mmgen
directory on the offline machine (or copy it from your online machine’s~/.cache/mmgen
). Copy the MMGen repository to the offline machine and install MMGen as described above. If your online and offline machines have different architecture, make sure to clean up any build/dist files in the repositories before installing (insecp256k1
this is accomplished bymake clean
).
Congratulations, your installation is now complete! You can now proceed to Getting Started with MMGen.