|
1 |
| -# etc-client |
| 1 | +# mantis - Scala client for Ethereum Classic |
2 | 2 |
|
| 3 | +*Mantis* is the name given to the new Ethereum Classic client produced by the Grothendieck Team. |
| 4 | + |
| 5 | +### Status - Beta 1 |
| 6 | + |
| 7 | +Continuous Integration Build Status [](https://circleci.com/gh/input-output-hk/etc-client/tree/master) |
| 8 | + |
| 9 | +Unit Test Code Coverage Status [](https://coveralls.io/github/input-output-hk/etc-client?branch=master) |
| 10 | + |
| 11 | +This version of the code supports |
3 | 12 |
|
4 |
| -[](https://circleci.com/gh/input-output-hk/etc-client/tree/master) |
| 13 | + - fast sync (download a recent state trie snapshot and all blocks, this is the default behaviour) |
| 14 | + - regular sync (download and execute every transaction in every block in the chain, this can be very slow) |
| 15 | + - bootstrap sync (download a database for *mantis* preloaded with a recent version of the block chain, recommended for testing) |
| 16 | + - JSON RPC API (useful for console and Mist integration) |
| 17 | + - Morden testnet and private network |
| 18 | + - `ethminer` miner integration (allows *mantis* to mine blocks with `ethminer`) |
| 19 | + |
| 20 | +This version has been tested on Windows 10, Linux and MacOS |
5 | 21 |
|
6 |
| -[](https://coveralls.io/github/input-output-hk/etc-client?branch=master) |
| 22 | +For more details on configuration and functionality check out our [wiki](https://github.com/input-output-hk/etc-client/wiki) |
7 | 23 |
|
| 24 | +### Download the client and bootstrap files |
8 | 25 |
|
9 |
| -## A Scala based client for Ethereum Classic |
| 26 | +The latest release can be downloaded from [here](https://github.com/input-output-hk/etc-client/releases) |
| 27 | + |
| 28 | +### Building the client |
10 | 29 |
|
11 |
| -### Milestone 3 & 4 - JSON RPC and Miner Integration |
| 30 | +#### Prerequisites to build |
12 | 31 |
|
13 |
| -**This version of the code supports almost all the functionality for a first release.** |
| 32 | +- JDK 1.8 (download from [java.com](http://www.java.com)) |
| 33 | +- sbt ([download sbt](http://www.scala-sbt.org/download.html)) |
14 | 34 |
|
15 |
| -For the curious ... |
| 35 | +#### Build the client |
16 | 36 |
|
17 |
| -In order to build the client checkout the code base and then type |
| 37 | +As an alternative to downloading the client build the client from source. |
| 38 | +Checkout this repository from github and then type |
18 | 39 |
|
19 | 40 | `sbt dist`
|
20 | 41 |
|
21 | 42 | in the root of the project.
|
22 | 43 |
|
23 |
| -This creates a distribution zip. Unzip that file to create a folder structure starting with |
| 44 | +This creates a distribution zip. |
| 45 | + |
| 46 | +### Install and run the client |
| 47 | + |
| 48 | +#### Prerequisites to run the client |
| 49 | + |
| 50 | + - JVM 1.8 (download from [java.com](http://www.java.com)) |
| 51 | + |
| 52 | +Note that on windows a 64 bit version of the JVM is required. This can be checked by using `java -version`. Check for `64-Bit` |
| 53 | + |
| 54 | +``` |
| 55 | + java version "1.8.0_131" |
| 56 | + Java(TM) SE Runtime Environment (build 1.8.0_131-b11) |
| 57 | + Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) |
| 58 | +``` |
| 59 | + |
| 60 | + - the download of the Ethereum Classic chain will take up around 15G of disk space |
| 61 | + |
| 62 | +Note that a slow disk will slow the chain dowload, an SSD with 25G free space is recommended |
| 63 | + |
| 64 | +#### Install the client |
| 65 | + |
| 66 | +Unzip that file to create a folder structure starting with |
24 | 67 |
|
25 | 68 | ```
|
26 |
| - etc-client-0.1 |
| 69 | + mantis-0.3-cli-beta |
27 | 70 | ```
|
28 | 71 |
|
29 |
| - From there run |
| 72 | +### Run the client on Linux and MacOS |
| 73 | + |
| 74 | +In a terminal from the root of the installation run |
30 | 75 |
|
31 | 76 | ```
|
32 |
| - ./bin/etc-client |
| 77 | + ./bin/mantis |
33 | 78 | ```
|
| 79 | +The client runs in the foreground, it is recommended to use a session manager like `tmux` to prevent the client exiting when the terminal is shut down. |
34 | 80 |
|
35 |
| -The client attempts to contact the remote peers configured in the configuration file and begin a |
36 |
| -`fast-sync` download. The [configuration file](https://github.com/input-output-hk/etc-client/blob/master/src/main/resources/application.conf) |
37 |
| -settings can all be overriden in |
38 |
| - |
39 |
| -`./config/production.conf` |
| 81 | +Within a minute the chain begins downloading to a folder in the `$HOME` folder called `.mantis` |
| 82 | + |
| 83 | +### Run the client on Windows |
40 | 84 |
|
41 |
| -The client has been run on Windows 8 and seems to work however it has not been extensively tested. |
42 |
| - |
43 |
| -The [next milestone](https://iohk.io/projects/ethereum-classic/#roadmap) is our early Beta release!! |
| 85 | +Open a command terminal and from the root of the installation run |
44 | 86 |
|
| 87 | +``` |
| 88 | +bin\mantis.bat |
| 89 | +``` |
| 90 | +Within a minute the chain begins downloading to a folder in the `%HOME%` folder called `.mantis` |
| 91 | + |
| 92 | +#### Configuration |
| 93 | + |
| 94 | +Using the 'out of the box' settings the client attempts to contact the remote peers configured in the configuration file and begin a |
| 95 | +`fast-sync` download. Time taken to complete `fast-sync` varies significantly depending on the quality of the network connection and the quality of the hardware. |
45 | 96 |
|
| 97 | +A faster option for creating a node that is synced with the network is to use the bootstrap download. |
| 98 | + |
| 99 | +All options can be configured in the files located in the `conf` folder. |
| 100 | + |
| 101 | +For example to change the default datadir to `/mydata` edit the `storage.conf` file and find the lines |
| 102 | + |
| 103 | +``` |
| 104 | +# Base directory where all the data used by the node is stored, including blockchain data and private keys |
| 105 | +# datadir = ${user.home}"/.mantis" |
| 106 | +``` |
| 107 | +Uncomment and edit `datadir` to read |
| 108 | +``` |
| 109 | +# Base directory where all the data used by the node is stored, including blockchain data and private keys |
| 110 | +datadir = "/mydata" |
| 111 | +``` |
| 112 | + |
| 113 | +For more details on configuration and functionality check out our [wiki](https://github.com/input-output-hk/etc-client/wiki) |
| 114 | + |
| 115 | +### Uninstall |
| 116 | + |
| 117 | +To remove the mantis client simple delete the folder the distribution (zip) file was unzipped to and delete the `datadir`. The default datadir folder is `$HOME/.mantis` |
| 118 | + |
| 119 | +### Feedback |
| 120 | + |
| 121 | +Feedback gratefully received through the Ethereum Classic Slack (@carlo) although please check out the list of known issues first in the 'RELEASE' file located in the root of the installation. |
| 122 | + |
46 | 123 |
|
0 commit comments