modified: Altcoin-and-Forkcoin-Support.md

modified:   Install-MMGen-on-Linux.md
modified:   Install-MMGen-on-Microsoft-Windows.md
modified:   Test-Suite.md
The MMGen Project 2022-05-06 12:55:32 +00:00
commit 344c41961a
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
4 changed files with 67 additions and 43 deletions

@ -4,7 +4,7 @@
#### [Ethereum (ETH), Ethereum Classic (ETC) and ERC20 Tokens](#a_eth)
* [Install the Ethereum dependencies](#a_ed)
* [Install and run Geth or OpenEthereum](#a_oe)
* [Install and run Geth, Parity or OpenEthereum](#a_oe)
* [Transacting and other basic operations](#a_tx)
* [Creating and deploying ERC20 tokens](#a_dt)
@ -35,13 +35,16 @@ From the MMGen repository root, type:
$ python3 -m pip install --no-deps --user -r eth-requirements.txt
#### <a name='a_oe'>Install and run Geth or OpenEthereum</a>
#### <a name='a_oe'>Install and run Geth, Parity or OpenEthereum</a>
MMGen can use either Go-Ethereum (Geth) or OpenEthereum to communicate with
the Ethereum network. For information on installing Geth or OE on your
system, visit the the Geth [Github repo][ge], or the OpenEthereum [wiki][ow]
or [Github repo][og]. The daemons are not used for transaction signing, so
you needn’t install them on your offline machine.
or [Github repo][og]. On Arch Linux systems, Go-Ethereum and OpenEthereum are
packages and may be installed with `pacman`.
Note that Ethereum daemons are not used for transaction signing, so you
needn’t install them on your offline machine.
For Geth, the following command-line options are required:

@ -40,9 +40,11 @@ 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. Note that MMGen may be tested in place without installation. Refer
to the [Test Suite][ts] wiki page for details.
**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][ts] wiki page for details.
Install your coin daemon(s). To install prebuilt binaries, go [here][01]. To
install from source, go [here][02].

@ -150,6 +150,9 @@ will produce a listing of the same directory.
> trick using '>' works for most shell commands, by the way). Copy `urls.txt`
> to your online machine and download the URLs listed in it.
> *NOTE: as of 01.05.2022, files in the `clang64` directory were found under
> `mingw64` instead, so these URLS may have to be edited accordingly.*
> Create a new folder on your offline machine:
$ mkdir packages1
@ -187,7 +190,7 @@ specifically required by MMGen.
Install the MMGen requirements and their dependencies:
$ pacman -S tar git vim autoconf automake-wrapper autogen libtool \
$ pacman -S tar git vim autoconf automake-wrapper autogen libtool cygrunsrv \
mingw64/mingw-w64-x86_64-python-build \
mingw64/mingw-w64-x86_64-python-wheel \
mingw64/mingw-w64-x86_64-python-pip \
@ -219,7 +222,7 @@ Add the following two lines to the end of the file (if this is a Bitcoin-only
installation, you may omit the Litecoin and Bitcoin Cash Node components of the
path):
export PATH="/mingw64/bin:$PATH:/c/Program Files/Bitcoin/daemon:/c/Program Files/Litecoin/daemon:/c/Program Files/Bitcoin-Cash-Node/daemon"
export PATH="$HOMEPATH/.local/bin:/mingw64/bin:$PATH:/c/Program Files/Bitcoin/daemon:/c/Program Files/Litecoin/daemon:/c/Program Files/Bitcoin-Cash-Node/daemon"
export PYTHONUTF8=1
Save and exit. Close and reopen the terminal window to update your working
@ -244,12 +247,12 @@ therefore highly recommended.
On your online machine, download the tar archive:
$ pip3 download --no-deps scrypt==0.8.13
$ pip3 download --no-deps scrypt==0.8.20
On your offline machine, unpack and enter the archive:
$ tar fax scrypt-0.8.13.tar.gz
$ cd scrypt-0.8.13
$ tar fax scrypt-0.8.20.tar.gz
$ cd scrypt-0.8.20
Open the file `setup.py` in your text editor. Right before the line beginning
with:
@ -352,19 +355,17 @@ about adding to the Windows path, since your `PATH` variable was taken care of
in [Step 5](#a_ev). Note that the daemons must be installed on both your
online and offline machines.
To transact ETH, ETC or ERC20 tokens you’ll need the latest OpenEthereum binary
build for Windows from the [OpenEthereum Github repository][og]. OpenEthereum,
unlike the other coin daemons, is installed on the online machine only. Copy
the `openethereum.exe` and `ethkey.exe` binaries to `/usr/local/bin`. Please
note that OpenEthereum performs very poorly under Windows due to threading
limitations. Unless you have very fast hardware, transacting and syncing the
blockchain could be painfully slow.
To transact ETH, ETC or ERC20 tokens you’ll need the latest Geth, OpenEthereum
or Parity (for Ethereum Classic) binary. See the
[**Altcoin-and-Forkcoin-Support**][pl] page for information on downloading and
launching these daemons. The `parity.exe`, `openethereum.exe` and `ethkey.exe`
binaries should be copied to `/usr/local/bin`. For Geth, download and run the
Windows installer and add `/c/Program Files/Geth` to the end of the `PATH`
variable in your `~/.bashrc` file:
Typically you’ll wish to launch OpenEthereum as follows:
$ openethereum.exe --jsonrpc-apis=all
More information on OpenEthereum’s command-line options can be found [here][pl].
Please note that Ethereum daemons perform rather poorly under Windows due to
threading limitations. Unless you have very fast hardware, transacting and
syncing the blockchain might be painfully slow.
### <a name='a_do'>12. You’re done!</a>

@ -66,14 +66,32 @@ Install [OpenEthereum, Parity, Geth, the Ethereum dependencies][oe] and
optionally the [Solidity compiler][sc] as described on the
Altcoin-and-Forkcoin-Support page.
The XMR test sets up a local SOCKS proxy to test transaction relaying, so make
sure you can SSH to localhost without a password. Alternatively, you may set
up the proxy yourself with the following command:
$ ssh -fxN -D localhost:9060 localhost
In addition, you must install the following helper programs and libraries (MSYS2
users can omit MoneroPy and Zcash-Mini):
users can omit Zcash-Mini and leave out `sudo` in commands):
#### SSH daemon setup (MSYS2 only)
The XMR test sets up a local SOCKS proxy to test transaction relaying. This
requires the SSH daemon to be set up and running. On MSYS2 systems, SSHD
is not configured by default, but it may be easily set up with the following
steps:
Open PowerShell as administrator, and at the DOS prompt, execute:
system32> net user administrator /active:yes
system32> C:\\msys64\usr\bin\bash.exe --login
Now, at the MSYS2 prompt, cd to the MMGen repository root and run the setup
script:
$ scripts/msys2-sshd-setup.sh
The daemon should now start automatically every time the system is booted. It
may also be started and stopped manually at the DOS or MSYS2 prompt as follows
(PowerShell must be running with admin privileges):
# net start msys2_sshd
# net stop msys2_sshd
#### Pycoin
@ -83,15 +101,16 @@ users can omit MoneroPy and Zcash-Mini):
$ git clone https://github.com/bigreddmachine/MoneroPy
$ cd MoneroPy
$ sudo python3 setup.py install
$ python3 setup.py install --user
$ cd ..
#### Vanitygen Plus
#### Vanitygen PlusPlus (forked from Vanitygen Plus)
$ git clone https://github.com/exploitagency/vanitygen-plus
$ cd vanitygen-plus
$ git clone https://github.com/10gic/vanitygen-plusplus
$ cd vanitygen-plusplus
$ git checkout -b vanitygen-plus e7858035d092 # rewind to fork commit
$ make keyconv # mingw32-make.exe keyconv on MSYS2
$ sudo install --strip keyconv /usr/local/bin
$ sudo install --strip keyconv /usr/local/bin # ‘keyconv.exe’ for MSYS2
$ cd ..
#### Zcash-Mini
@ -101,16 +120,17 @@ users can omit MoneroPy and Zcash-Mini):
$ cd zcash-mini
$ go mod init zcash-mini
$ go mod tidy
$ go build -mod=mod
$ go build -mod=mod # or just ’go build’
$ sudo install --strip ./zcash-mini /usr/local/bin
$ cd ..
#### Ethkey
Copy the ethkey binary to `/usr/local/bin`. The binary is included in the
latest OpenEthereum release for your architecture.
On Arch Linux systems, ethkey is included in the OpenEthereum package:
Alternatively, you may build ethkey from source:
$ pacman -S openethereum
For other systems, you may have to build ethkey from source:
$ sudo apt-get install rustc # skip this if Rust is already installed
$ git clone https://github.com/openethereum/openethereum
@ -124,9 +144,7 @@ Alternatively, you may build ethkey from source:
The Monero test (`test/test-release xmr`) creates a private network and mines
coins, so is therefore non-deterministic and prone to random failures. If you
experience one, just restart the test. To test relaying of transactions via
SOCKS proxy, an SSH tunnel to `localhost` will be set up, so ensure that your
SSH daemon is configured with the appropriate permissions.
experience such a failure, just restart the test.
### Run the tests