Linux, Windows install; Altcoin Support

modified:   Altcoin-and-Forkcoin-Support.md
renamed:    Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md -> Install-Bitcoind-from-Source-on-Linux.md
modified:   Install-MMGen-on-Linux.md
modified:   Install-MMGen-on-Microsoft-Windows.md
modified:   Test-Suite.md
The MMGen Project 2023-11-16 09:11:56 +00:00
commit 03401ccac3
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
5 changed files with 35 additions and 39 deletions

@ -34,7 +34,7 @@ In addition, ERC20 token creation and deployment are supported via the
From the MMGen repository root, type: From the MMGen repository root, type:
```text ```text
$ python3 -m pip install -r alt-requirements.txt $ python3 -m pip install -r alt-requirements.txt # skip this for MSYS2
$ python3 -m pip install --no-deps -r eth-requirements.txt $ python3 -m pip install --no-deps -r eth-requirements.txt
``` ```
@ -236,6 +236,9 @@ in your executable path.
<a id="a_xmr_req">Install the Python XMR requirements:</a> <a id="a_xmr_req">Install the Python XMR requirements:</a>
(Note that this step is not required for MSYS2, as these requirements were
already installed by pacman.)
```text ```text
$ python3 -m pip install -r alt-requirements.txt $ python3 -m pip install -r alt-requirements.txt
$ python3 -m pip install -r xmr-requirements.txt $ python3 -m pip install -r xmr-requirements.txt
@ -362,7 +365,7 @@ the MMGen Project.
[X]: command-help-autosign [X]: command-help-autosign
[gs]: Getting-Started-with-MMGen [gs]: Getting-Started-with-MMGen
[bo]: Getting-Started-with-MMGen#a_bo [bo]: Getting-Started-with-MMGen#a_bo
[si]: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux [si]: Install-Bitcoind-from-Source-on-Linux
[bi]: Install-Bitcoind#a_d [bi]: Install-Bitcoind#a_d
[p8]: Install-Bitcoind#a_r [p8]: Install-Bitcoind#a_r
[ge]: https://github.com/ethereum/go-ethereum [ge]: https://github.com/ethereum/go-ethereum

@ -6,7 +6,7 @@ altcoin support, additional installation steps are required. See*
For computers with no Internet connection, see **Note for offline machines** below. For computers with no Internet connection, see **Note for offline machines** below.
### Install required packages: ### Install required packages from your Linux distribution:
#### Debian/Ubuntu: #### Debian/Ubuntu:
@ -20,23 +20,25 @@ $ sudo apt-get install curl git gcc libtool make autoconf libgmp-dev libssl-dev
$ sudo pacman -S curl git gcc libtool make autoconf automake autogen pcre python-pip libsecp256k1 $ sudo pacman -S curl git gcc libtool make autoconf automake autogen pcre python-pip libsecp256k1
``` ```
### Upgrade the build tools: To keep your MMGen installation isolated from the rest of your Python packages,
you may wish to use a [virtual environment][ve]. If you choose not to do this,
you may get an ‘externally-managed-environment’ error when installing packages
with `pip`. In this case, you must add `--break-system-packages` to the `pip`
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 invoked as user.
### Upgrade the Python build tools:
```text ```text
$ python3 -m pip install --user --upgrade pip setuptools build wheel $ python3 -m pip install --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.
### Install MMGen: ### Install MMGen:
#### Stable version: #### Stable version:
```text ```text
$ python3 -m pip install --user --upgrade mmgen-wallet # see 'Install Note' below $ python3 -m pip install mmgen-wallet
``` ```
#### Development version: #### Development version:
@ -46,26 +48,27 @@ 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 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. dependencies or installation steps not yet covered in the documentation.
Make sure that `~/.local/bin` is in `PATH`. Existing MMGen users should delete If not running in a virtual environment, make sure that `~/.local/bin` is in
any old installations under `/usr` or `/usr/local`. `PATH`. Existing MMGen users should delete any old installations under `/usr`
or `/usr/local`.
```text ```text
$ git clone https://github.com/mmgen/mmgen.git $ git clone https://github.com/mmgen/mmgen.git
$ cd mmgen $ cd mmgen
$ python3 -m build --no-isolation $ python3 -m build --no-isolation
$ python3 -m pip install --user --upgrade dist/*.whl # see 'Install Note' below $ python3 -m pip install --upgrade dist/*.whl # see 'Install Note' below
$ cd .. $ cd ..
``` ```
**Install Note:** The `--force` and `--no-deps` options also come in handy **Install Note:** When upgrading from previous versions, the `--force` and
on occasion. `--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][ts] wiki page for details.
Install your coin daemon(s). To install prebuilt binaries, go [here][01]. To Install your coin daemon(s). To install prebuilt binaries, go [here][01]. To
install from source, go [here][02]. install from source, go [here][02].
If you plan to run the test suite, additional installation steps are required.
Refer to the [Test Suite][ts] wiki page for details.
#### Note for offline machines: #### Note for offline machines:
The computer you’ve designated for offline use must be connected to the The computer you’ve designated for offline use must be connected to the
@ -74,38 +77,28 @@ 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. 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, 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 or if it lacks a network interface entirely, then you’ll need to take the
the following steps: following steps:
> If your offline and offline computers have the same architecture, then > If your offline and offline computers have the same architecture, then
> download the Debian/Ubuntu packages and their dependencies on the online > download the Debian/Ubuntu packages and their dependencies on the online
> one using `apt-get download`. Otherwise, retrieve the packages manually > one using `apt-get download`. Otherwise, retrieve the packages manually
> from `packages.debian.org` or `packages.ubuntu.com`. > from `packages.debian.org` or `packages.ubuntu.com`.
> >
> Download any required Python packages using `python3 -m pip download`, or > Download the Python build tools using `python3 -m pip download`.
> manually from [pypi.org][pi] if your online and offline computers have
> different architecture.
> >
> Transfer the downloaded files and cloned Git repositories to your offline > Transfer the downloaded files to your offline computer using a USB stick or
> computer using a USB stick or other removable medium. Install the > other removable medium. Install the Debian/Ubuntu packages with `sudo dpkg
> Debian/Ubuntu packages with `sudo dpkg -i` and the Python packages with > -i` and the Python packages with `python3 -m pip install`.
> `python3 -m pip install --user`.
>
> Clone the [secp256k1][ec] 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 (in `secp256k1` this is accomplished by `make
> clean`).
Congratulations, your installation is now complete! You can now proceed to Congratulations, your installation is now complete! You can now proceed to
[**Getting Started with MMGen**][gs]. [**Getting Started with MMGen**][gs].
[01]: Install-Bitcoind [01]: Install-Bitcoind
[02]: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux [02]: Install-Bitcoind-from-Source-on-Linux
[ts]: Test-Suite [ts]: Test-Suite
[gs]: Getting-Started-with-MMGen [gs]: Getting-Started-with-MMGen
[pi]: https://pypi.org [pi]: https://pypi.org
[af]: Altcoin-and-Forkcoin-Support [af]: Altcoin-and-Forkcoin-Support
[ec]: https://github.com/bitcoin-core/secp256k1.git [ec]: https://github.com/bitcoin-core/secp256k1.git
[ve]: https://docs.python.org/3/library/venv.html

@ -338,7 +338,7 @@ If you’ll be using MMGen with Ethereum, then you must install a few
dependencies. From the MMGen repository root, type the following: dependencies. From the MMGen repository root, type the following:
```text ```text
$ python3 -m pip install --no-deps --user -r eth-requirements.txt $ python3 -m pip install --no-deps -r eth-requirements.txt
``` ```
For an offline install, do this instead: For an offline install, do this instead:

@ -220,7 +220,7 @@ commands’ output on the screen as they’re being run.
| `test/tooltest2.py` | the `mmgen-tool` utility - data validity | | `test/tooltest2.py` | the `mmgen-tool` utility - data validity |
| `test/unit_tests.py` | low-level subsystems | | `test/unit_tests.py` | low-level subsystems |
[sd]: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux [sd]: Install-Bitcoind-from-Source-on-Linux
[bd]: Install-Bitcoind [bd]: Install-Bitcoind
[md]: https://getmonero.org/downloads/#linux [md]: https://getmonero.org/downloads/#linux
[ad]: https://download.bitcoinabc.org/ [ad]: https://download.bitcoinabc.org/