|
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](https://iohk.io/projects/ethereum-classic/). |
| 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](https://github.com/Genoil/cpp-ethereum)) |
| 19 | + |
| 20 | +This version has been tested on Windows 10, Linux and MacOS |
| 21 | + |
| 22 | +For more details on configuration and functionality check out our [wiki](https://github.com/input-output-hk/etc-client/wiki) |
5 | 23 |
|
6 |
| -[](https://coveralls.io/github/input-output-hk/etc-client?branch=master) |
| 24 | +### Download the client and bootstrap files |
7 | 25 |
|
| 26 | +The latest release can be downloaded from [here](https://github.com/input-output-hk/etc-client/releases) |
8 | 27 |
|
9 |
| -## A Scala based client for Ethereum Classic |
| 28 | +The bootstrap database files can be downloaded from [here](https://github.com/input-output-hk/etc-client/wiki/Bootstrap-Database-Download-Links) |
| 29 | + |
| 30 | +### Building the client |
10 | 31 |
|
11 |
| -### Milestone 3 & 4 - JSON RPC and Miner Integration |
| 32 | +#### Prerequisites to build |
12 | 33 |
|
13 |
| -**This version of the code supports almost all the functionality for a first release.** |
| 34 | +- JDK 1.8 (download from [java.com](http://www.java.com)) |
| 35 | +- sbt ([download sbt](http://www.scala-sbt.org/download.html)) |
14 | 36 |
|
15 |
| -For the curious ... |
| 37 | +#### Build the client |
16 | 38 |
|
17 |
| -In order to build the client checkout the code base and then type |
| 39 | +As an alternative to downloading the client build the client from source. |
| 40 | +Checkout this repository from github and then type |
18 | 41 |
|
19 | 42 | `sbt dist`
|
20 | 43 |
|
21 | 44 | in the root of the project.
|
22 | 45 |
|
23 |
| -This creates a distribution zip. Unzip that file to create a folder structure starting with |
| 46 | +This creates a distribution zip. |
| 47 | + |
| 48 | +### Install and run the client |
| 49 | + |
| 50 | +#### Prerequisites to run the client |
| 51 | + |
| 52 | + - JVM 1.8 (download from [java.com](http://www.java.com)) |
| 53 | + |
| 54 | +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` |
| 55 | + |
| 56 | +``` |
| 57 | + java version "1.8.0_131" |
| 58 | + Java(TM) SE Runtime Environment (build 1.8.0_131-b11) |
| 59 | + Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) |
| 60 | +``` |
| 61 | + |
| 62 | + - the download of the Ethereum Classic chain will take up around 15G of disk space |
| 63 | + |
| 64 | +Note that a slow disk will slow the chain dowload, an SSD with 25G free space is recommended |
| 65 | + |
| 66 | +#### Install the client |
| 67 | + |
| 68 | +Unzip that file to create a folder structure starting with |
24 | 69 |
|
25 | 70 | ```
|
26 |
| - etc-client-0.1 |
| 71 | + mantis-0.3-cli-beta |
27 | 72 | ```
|
28 | 73 |
|
29 |
| - From there run |
| 74 | +### Run the client on Linux and MacOS |
| 75 | + |
| 76 | +In a terminal from the root of the installation run |
30 | 77 |
|
31 | 78 | ```
|
32 |
| - ./bin/etc-client |
| 79 | + ./bin/mantis |
33 | 80 | ```
|
| 81 | +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 | 82 |
|
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` |
| 83 | +Within a minute the chain begins downloading to a folder in the `$HOME` folder called `.mantis` |
| 84 | + |
| 85 | +### Run the client on Windows |
40 | 86 |
|
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!! |
| 87 | +Open a command terminal and from the root of the installation run |
44 | 88 |
|
| 89 | +``` |
| 90 | +bin\mantis.bat |
| 91 | +``` |
| 92 | +Within a minute the chain begins downloading to a folder in the `%HOME%` folder called `.mantis` |
| 93 | + |
| 94 | +#### Configuration |
| 95 | + |
| 96 | +Using the 'out of the box' settings the client attempts to contact the remote peers configured in the configuration file and begin a |
| 97 | +`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 | 98 |
|
| 99 | +A faster option for creating a node that is synced with the network is to use the bootstrap download. |
| 100 | + |
| 101 | +All options can be configured in the files located in the `conf` folder. |
| 102 | + |
| 103 | +For example to change the default datadir to `/mydata` edit the `storage.conf` file and find the lines |
| 104 | + |
| 105 | +``` |
| 106 | +# Base directory where all the data used by the node is stored, including blockchain data and private keys |
| 107 | +# datadir = ${user.home}"/.mantis" |
| 108 | +``` |
| 109 | +Uncomment and edit `datadir` to read |
| 110 | +``` |
| 111 | +# Base directory where all the data used by the node is stored, including blockchain data and private keys |
| 112 | +datadir = "/mydata" |
| 113 | +``` |
| 114 | + |
| 115 | +For more details on configuration and functionality check out our [wiki](https://github.com/input-output-hk/etc-client/wiki) |
| 116 | + |
| 117 | +### Uninstall |
| 118 | + |
| 119 | +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` |
| 120 | + |
| 121 | +### Feedback |
| 122 | + |
| 123 | +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. |
| 124 | + |
46 | 125 |
|
0 commit comments