Skip to content

Commit 65ae75d

Browse files
authored
Merge pull request #843 from input-output-hk/release/v3.2.0
Release/v3.2.0
2 parents 482340d + 233d547 commit 65ae75d

File tree

202 files changed

+6642
-2197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

202 files changed

+6642
-2197
lines changed

README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ Possible networks: `etc`, `eth`, `mordor`, `testnet-internal`
4444
- generate genesis allocs (using private keys and/or addresses)
4545
```
4646
`./bin/mantis cli generate-alloc --balance=42 --address=8b196738d90cf3d9fc299e0ec28e15ebdcbb0bdcb281d9d5084182c9c66d5d12 --key=00b11c32957057651d56cd83085ef3b259319057e0e887bd0fdaee657e6f75d1`
47+
```
48+
- generate multiple key-pairs (following example generate 5 key-pairs)
49+
```
50+
./bin/mantis cli generate-key-pairs 5
4751
```
4852

4953
### Building the client
@@ -126,6 +130,42 @@ projectRoot $ docker build -f ./docker/monitoring-client.Dockerfile -t mantis-mo
126130
projectRoot $ docker run --network=host mantis-monitoring-client
127131
```
128132

133+
### TLS setup
134+
135+
Both the JSON RPC (on the node and faucet) can be additionally protected using TLS.
136+
On the development environment it's already properly configured with a development certificate.
137+
138+
#### Generating a new certificate
139+
140+
If a new certificate is required, create a new keystore with a certificate by running `./tls/gen-cert.sh`
141+
142+
#### Configuring the node
143+
144+
1. Configure the certificate and password file to be used at `mantis.network.rpc.http.certificate` key on the `application.conf` file:
145+
146+
keystore-path: path to the keystore storing the certificates (if generated through our script they are by default located in "./tls/mantisCA.p12")
147+
keystore-type: type of certificate keystore being used (if generated through our script use "pkcs12")
148+
password-file: path to the file with the password used for accessing the certificate keystore (if generated through our script they are by default located in "./tls/password")
149+
2. Enable TLS in specific config:
150+
- For JSON RPC: `mantis.network.rpc.http.mode=https`
151+
152+
#### Configuring the faucet
153+
154+
1. Configure the certificate and password file to be used at `mantis.network.rpc.http.certificate` key on the `faucet.conf` file:
155+
156+
keystore-path: path to the keystore storing the certificates (if generated through our script they are by default located in "./tls/mantisCA.p12")
157+
keystore-type: type of certificate keystore being used (if generated through our script use "pkcs12")
158+
password-file: path to the file with the password used for accessing the certificate keystore (if generated through our script they are by default located in "./tls/password")
159+
2. Enable TLS in specific config:
160+
- For JSON RPC: `mantis.network.rpc.http.mode=https`
161+
3. Configure the certificate used from RpcClient to connect with the node. Necessary if the node uses http secure.
162+
This certificate and password file to be used at `faucet.rpc-client.certificate` key on the `faucet.conf` file:
163+
164+
keystore-path: path to the keystore storing the certificates
165+
keystore-type: type of certificate keystore being used (if generated through our script use "pkcs12")
166+
password-file: path to the file with the password used for accessing the certificate keystore
167+
168+
129169
### Feedback
130170

131171
Feedback gratefully received through the Ethereum Classic Forum (http://forum.ethereumclassic.org/)

build.sbt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
enablePlugins(JDKPackagerPlugin, JavaAppPackaging, SolidityPlugin)
22

33
import scala.sys.process.Process
4+
import NativePackagerHelper._
45

56
// Necessary for the nix build, please do not remove.
67
val nixBuild = sys.props.isDefinedAt("nix")
@@ -10,7 +11,7 @@ val mantisDev = sys.props.get("mantisDev").contains("true") || sys.env.get("MANT
1011

1112
val commonSettings = Seq(
1213
name := "mantis",
13-
version := "3.1.0",
14+
version := "3.2.0",
1415
scalaVersion := "2.12.12",
1516
// Scalanet snapshots are published to Sonatype after each build.
1617
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
@@ -144,6 +145,10 @@ discoveredMainClasses in Compile := Seq()
144145
ThisBuild / jdkPackagerType := "image"
145146

146147
Universal / mappings += (resourceDirectory in Compile).value / "logback.xml" -> "conf/logback.xml"
148+
Universal / mappings += (resourceDirectory in Compile).value / "application.conf" -> "conf/base.conf"
149+
Universal / mappings ++= directory((resourceDirectory in Compile).value / "chains").map { case (f, name) =>
150+
f -> s"conf/$name"
151+
}
147152

148153
val sep = java.io.File.separator
149154
jdkPackagerJVMArgs := Seq(

0 commit comments

Comments
 (0)