forked from rchain/rchain
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreference.conf
240 lines (173 loc) · 7.5 KB
/
reference.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
rnode {
server {
# ID of the RChain network
network-id = "testnet"
# host name or IP address of this node
# If this attribute is not set then the node will try to guess its IP address
# host = 127.0.0.1
# dynamic host IP address (changes periodically)
host-dynamic = false
# use UpNp to open ports on gateway router
upnp = true
# network port for node to node communication
port = 40400
# network port for HTTP services
port-http = 40403
# Kademlia port for node to node (P2P) communication
port-kademlia = 40404
# Use random ports in case RChain Protocol port and/or Kademlia port are not free
use-random-ports = false
# Default time out for sending messages
send-timeout = 2 seconds
# Start a stand-alone node (no bootstrapping)
standalone = false
# Bootstrap rnode address for initial seed
bootstrap = "rnode://[email protected]?protocol=40400&discovery=40404"
# Path to data directory
# data-dir = ${user.home}/.rnode
# What are these *-size values? Why are they 10E12 ?!?
# See map_size argument definition in
# https://lmdb.readthedocs.io/en/release/#environment-class
# Casper block store map size (in bytes)
store-size = 10T
# Casper block DAG storage map size (in bytes)
dag-storage-size = 10T
# Map size (in bytes)
map-size = 10T
# Number of connected peers picked randomly for broadcasting and streaming
max-connections = 20
# Allow connections to peers with private network addresses
allow-private-addresses = false
# Maximum size of messages that can be received via transport layer
max-message-size = 256K
# Maximum size of messages that can be received via transport layer streams
max-stream-message-size = 200M
# Chunk size for streaming packets between nodes
packet-chunk-size = 256K
# Number of incoming message consumers
# Defaults to number of cores
# message-consumers = 4
fault-tolerance-threshold = 0.0
synchrony-constraint-threshold = 0.3333333333333333
height-constraint-threshold = 1000
round-robin-dispatcher {
max-peer-queue-size = 100
give-up-after-skipped = 10,
drop-peer-after-retries = 3
}
# TLS certificate settings
tls {
# certificate = ${data-dir}"/node.certificate.pem"
# key = ${data-dir}/node.key.pem
secure-random-non-blocking = false
}
metrics {
prometheus = false
influxdb = false
influxdb-udp = false
zipkin = false
sigar = false
}
reporting = false
# the max block number limit aquire from api
api-max-blocks-limit = 50
}
# gRPC API settings
grpc {
# Hostname or IP of node on which gRPC service is running
host = localhost
# Port used for external gRPC API
port-external = 40401
# Port used for external gRPC API
port-internal = 40402
# Maximum size of message that can be sent via gRPC API
max-message-size = 16M
}
# Casper configuration
casper {
# Base16 encoding of the public key to use for signing a proposed blocks
# Can be inferred from the private key for some signature algorithms
# validator-public-key =
# Base16 encoding of the private key to use for signing a proposed blocks
# validator-private-key =
# Path to the base16 encoded private key to use for signing a proposed blocks
# validator-private-key-path =
# Plain text file consisting of lines of the form '<pk> <stake>',
# which defines the bond amounts for each validator at genesis.
# <pk> is the public key (in base-16 encoding) identifying the validator and <stake>
# is the amount of Rev they have bonded (an integer).
# Note: this overrides the 'num-validators' option.
# bonds-file =
# Plain text file listing the public keys of validators known to the user (one per line).
# Signatures from these validators are required in order to accept a block which starts the local
# node's view of the blockDAG.
# known-validators-file =
# Number of validators at genesis
validators = 5
# Plain text file consisting of lines of the form '<algorithm> <pk> <revBalance>',
# which defines the Rev wallets that exist at genesis.
# "<algorithm> is the algorithm used to verify signatures when using the wallet (one of ed25519 or secp256k1),
# "<pk> is the public key (in base-16 encoding) identifying the wallet and <revBalance>
# is the amount of Rev in the wallet.
# wallets-file =
# Minimum bond accepted by the PoS contract in the genesis block
bond-minimum = 1
# Maximum bond accepted by the PoS contract in the genesis block
bond-maximum = 9223372036854775807
# the length of the validation epoch in blocks by the PoS contract in the genesis block
epoch-length = 10000
# the length of the quarantine time in blocks by the PoS contract in the genesis block
quarantine-length = 50000
# the number of active validator in casper
number-of-active-validators = 100
# the interval of the casper loop to maintain requested blocks and missing dependent blocks
# in the node runtime, there is a loop which would fetch dependency of the missing dag and maintain
# requested blocks. See
# https://github.com/rchain/rchain/blob/43a1dfd90ec16a4a5c3b24e7d7aab8bc160ccb2b/node/src/main/scala/coop/rchain/node/NodeRuntime.scala#L746-L759
casper-loop-interval = 30
# the timeout of the requested blocks
# all requests sent to request blocks is put into a data structure for maintain
requested-blocks-timeout = 240
# Number of signatures from trusted validators required to creating an approved genesis block
required-signatures = 0
# Identifier of the shard this node is connected to
shard = rchain
# Start a node as a genesis validator
genesis-validator = false
# Interval at which condition for creating ApprovedBlock will be checked
genesis-approve-interval = 10 seconds
# Time window in which BlockApproval messages will be accumulated before checking conditions
genesis-approve-duration = 10 seconds
# Genesis data folder
# genesis-path = ${data-dir}/genesis
# Timestamp for the deploys
# deploy-timestamp = 0
# Finalization is called every 'n' blocks
finalization-rate = 1
# Maximum number of block parents
max-number-of-parents = 2147483647 # Unlimited number of parents by default
# Node will request for fork choice tips if the latest FCT is more then this value
fork-choice-stale-threshold = 10 minutes
# Interval for check if fork choice tip is stale
fork-choice-check-if-stale-interval = 11 minutes
}
influxdb {
# Hostname and UDP port in which your InfluxDB is running
hostname = "127.0.0.1"
port = 8089
# Max packet size for UDP metrics data sent to InfluxDB.
max-packet-size = 1024 bytes
# For histograms, which percentiles to count
percentiles = [50.0, 70.0, 90.0, 95.0, 99.0, 99.9]
# Allow including environment information as tags on all reported metrics.
additional-tags {
# Define whether specific environment settings will be included as tags in all exposed metrics. When enabled,
# the service, host and instance tags will be added using the values from Kamon.environment().
service = yes
host = yes
instance = yes
# Specifies which Kamon environment tags should be ignored. All unmatched tags will be always added to al metrics.
blacklisted-tags = []
}
}
}