modified: Altcoin-and-Forkcoin-Support.md
modified: Install-MMGen-on-Linux.md modified: Install-MMGen-on-Microsoft-Windows.md modified: Test-Suite.md
parent
609ce43e56
commit
344c41961a
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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue