modified: Altcoin-and-Forkcoin-Support.md

modified:   Install-MMGen-on-Debian-or-Ubuntu-Linux.md
The MMGen Project 2019-02-06 10:56:35 +00:00
commit 023d7c736c
2 changed files with 56 additions and 28 deletions

@ -42,42 +42,34 @@ list.
#### <a name='a_pe'>Install the Pyethereum library</a>
Signing of ETH and ETC transactions is handled by the [pyethereum][y] library.
Unfortunately, Python 2 is not reliably supported by recent versions of
pyethereum and some of its dependencies, so older versions must be installed.
This can be done easily with the [pip][P] Python package installer.
First install the following dependencies:
First, using the [pip3][P] Python package installer, install the following
dependencies:
$ pip install rlp==0.6.0 # the version is important here!
$ pip install future pysha3 PyYAML py_ecc
$ sudo -H pip3 install future pysha3 PyYAML py_ecc rlp
Now install the library itself. You could try doing this the usual way:
As of this writing, the current “stable” version of pyethereum (2.3.2) is
broken, so we must get a more recent version from Github:
$ pip install ethereum==2.1.2 # the version is important here!
$ git clone https://github.com/ethereum/pyethereum
$ cd pyethereum
$ git checkout b704a5c
However, pyethereum pulls in a whole bunch of silly dependencies, some of which
may fail to install, and we need only a subset of the library anyway, so it's
better to do the following instead:
$ pip download ethereum==2.1.2
This will download the package archive and dependencies. When pip starts
downloading the dependency archives, just bail out with Ctrl-C, since you don't
need them.
Now unpack the ethereum-2.1.2.tar.gz archive and remove unneeded deps from
'requirements.txt', making the file look exactly like this:
To prevent the library from auto-installing a lot of unneeded dependencies
(Pycryptodome in particular, which would stomp on our existing Pycrypto
installation) we need to edit the file 'requirements.txt', making it look
like this:
pysha3>=1.0.1
PyYAML
scrypt
py_ecc
rlp>=0.4.7
rlp>=1.0.1,<2.0.0
future
Now install:
Now we can proceed with the install:
$ sudo python ./setup.py install
$ sudo python3 ./setup.py install
#### <a name='a_tx'>Transacting and other basic operations</a>
@ -136,11 +128,46 @@ To transact ETH instead of EOS, omit the `--token` arguments.
#### <a name='a_dt'>Creating and deploying ERC20 tokens</a>
Install the Solidity compiler (`solc`) on your system:
##### Install the Solidity compiler
To deploy Ethereum contracts with MMGen, you need version 0.5.3 of the Solidity
compiler (`solc`) installed on your system. The best way to ensure you have the
correct version is to compile it from source. Alternatively, on Ubuntu 18.04
systems a binary distribution is also available, and instructions for installing
it are provided below.
##### *Compile solc from source:*
Clone the repository and build:
$ git clone --recursive https://github.com/ethereum/solidity.git
$ cd solidity
$ git checkout v0.5.3
$ ./scripts/install_deps.sh
$ mkdir build
$ cd build
$ cmake .. && make
$ sudo make install
##### *Install solc from binary distribution (Ubuntu 18.04):*
First add the following line to your /etc/apt/sources.list:
deb http://ppa.launchpad.net/ethereum/ethereum/ubuntu bionic main
Now obtain the Ethereum PPA key `2A518C819BE37D2C2031944D1C52189C923F6CA9`
from a PGP keyserver using your method of choice. Save the key to file, and
then add it to your APT keyring as follows:
$ sudo apt-key add <key file>
Now you can proceed with the install:
$ sudo apt-get update
$ sudo apt-get install solc
$ solc --version # check that the version is correct!
##### Token creation/deployment example:
##### Create and deploy a token
*Note: All addresses and filenames in the examples to follow are bogus. You
must replace them with real ones.*
@ -148,7 +175,7 @@ must replace them with real ones.*
Create a token 'MFT' with default parameters, owned by `ddeeff...` (`ABCDABCD:E:1`):
# Do this in the MMGen repository root:
$ scripts/create-token.py --symbol=MFT --name='My First Token' ddeeffddeeffddeeffddeeffddeeffddeeffddee
$ scripts/create-token.py --coin=ETH --symbol=MFT --name='My First Token' ddEEFFDdEEFfddEeffDDEefFdDeeFFDDEeFFddEe
Deploy the token on the ETH blockchain:

@ -2,11 +2,12 @@
> Install required Debian/Ubuntu packages:
$ sudo apt-get install python-dev python-pexpect python-ecdsa python-scrypt libssl-dev git autoconf libtool wipe python-setuptools libgmp-dev python-crypto python-nacl python-pysha3 python-pip
$ sudo apt-get install autoconf git libgmp-dev libssl-dev libtool wipe
$ sudo apt-get install python3-dev python3-ecdsa python3-pexpect python3-scrypt python3-setuptools python3-crypto python3-nacl python3-pip
> Install fast ed25519 Python package (optional, but recommended for Monero addresses):
$ sudo -H pip install ed25519ll
$ sudo -H pip3 install ed25519ll
> Install the secp256k1 library: