Skip to content

Commit 0f72b65

Browse files
committed
Update doco
1 parent 24acf16 commit 0f72b65

File tree

3 files changed

+168
-20
lines changed

3 files changed

+168
-20
lines changed

README.md

Lines changed: 97 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,123 @@
1-
# etc-client
1+
# mantis - Scala client for Ethereum Classic
22

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 [![CircleCI](https://circleci.com/gh/input-output-hk/etc-client/tree/master.svg?style=svg)](https://circleci.com/gh/input-output-hk/etc-client/tree/master)
8+
9+
Unit Test Code Coverage Status [![Coverage Status](https://coveralls.io/repos/github/input-output-hk/etc-client/badge.svg?branch=master)](https://coveralls.io/github/input-output-hk/etc-client?branch=master)
10+
11+
This version of the code supports
312

4-
[![CircleCI](https://circleci.com/gh/input-output-hk/etc-client/tree/master.svg?style=svg)](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
521

6-
[![Coverage Status](https://coveralls.io/repos/github/input-output-hk/etc-client/badge.svg?branch=master)](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)
723

24+
### Download the client and bootstrap files
825

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
1029

11-
### Milestone 3 & 4 - JSON RPC and Miner Integration
30+
#### Prerequisites to build
1231

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))
1434

15-
For the curious ...
35+
#### Build the client
1636

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
1839

1940
`sbt dist`
2041

2142
in the root of the project.
2243

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
2467

2568
```
26-
etc-client-0.1
69+
mantis-0.3-cli-beta
2770
```
2871

29-
From there run
72+
### Run the client on Linux and MacOS
73+
74+
In a terminal from the root of the installation run
3075

3176
```
32-
./bin/etc-client
77+
./bin/mantis
3378
```
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.
3480

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
4084

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
4486

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.
4596

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+
46123

src/universal/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2016 Input Output
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

src/universal/RELEASE

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
Introduction
2+
3+
This is the early beta 1 release of the mantis scala client for the Ethereum Classic network.
4+
5+
This release is fundamentally a command line release allowing fast syncing of the Ethereum Classic network and processing of new transactions.
6+
7+
For a more detailed description of the functionality and configuration options see https://github.com/input-output-hk/etc-client/wiki
8+
9+
Known Issues
10+
11+
EC-269 JSON RPC network_version returns a value of 1 for morden network, correct version is 2
12+
13+
EC-270 personal_importRawKey allows the same key to be imported several times
14+
15+
EC-282 download gets stuck in a loop when downloading block headers from a single peer whichdoen't have those block headers
16+
17+
Workaround - restart the client to allow another peer to be chosen
18+
19+
EC-174 Releases not signed. Potential security issue whereby neither our releases nor the components used to build our releases are signed as verified.
20+
21+
EC-283 Keyfiles exported from MyEtherwallet do not work
22+
23+
Workaround - edit the exported file and change all json keys to lower case (e.g. "Crypto" -> "crypto")
24+
25+
EC-278 Killing the client during fast download *might* result in missing block header
26+
27+
EC-268 Pending transactions may not get forwarded to new peers. A connection made to a peer when a transaction is already pending will not receive the pending transaction.
28+
29+
Workaround - resend the transaction when the client has peers
30+
31+
EC-265 Spurious "Could not open table" database error during regular sync.
32+
Occasionally during regular sync the client will crash with an error saying it cannot locate a LeveLDB database file.
33+
34+
Workaround - clear out datadir and restart sync
35+
36+
EC-254 Full discovery 'kademlia' protocol not implemented. There are no known implications.
37+
38+
EC-244 etcstats.net data for mantis always seems one block behind
39+
40+
EC-167 Trying to run "regular sync" after an incomplete "fast sync" results in "Node not found" exception
41+
42+
Workaround - clear out datadir and restart sync
43+
44+
Feedback
45+
46+
Feedback gratefully received through the Ethereum Classic Slack (@carlo)
47+
48+
49+
50+

0 commit comments

Comments
 (0)