-
Notifications
You must be signed in to change notification settings - Fork 64
/
client.example.toml
353 lines (286 loc) · 11.3 KB
/
client.example.toml
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
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
##############################################################################
#
# Nimiq core-rs-albatross example configuration file
#
# Copy this to client.toml and edit appropriately.
#
# The client will look for this config file in '$HOME/.nimiq'
# if not specified with the --config option.
#
##############################################################################
##############################################################################
# Network configuration
##############################################################################
[network]
# The local multiaddresses this node should bind to. Usually these are loopback addresses.
# Multiple addresses can be specified.
#
# If `advertised_addresses` is not used, these addresses will also be advertised to peers.
listen_addresses = [
"/ip4/0.0.0.0/tcp/8443/ws",
"/ip6/::/tcp/8443/ws",
]
# Seed nodes to connect to when the node starts up. Multiple addresses can be specified.
seed_nodes = [
{ address = "/dns4/seed-1.pos.nimiq.com/tcp/8443/wss" },
{ address = "/dns4/seed-2.pos.nimiq.com/tcp/8443/wss" },
{ address = "/dns4/seed-3.pos.nimiq.com/tcp/8443/wss" },
{ address = "/dns4/seed-4.pos.nimiq.com/tcp/8443/wss" },
]
# Address(es) that will be advertised to peers instead of the ones in `listen_addresses`.
#
# This can be used to advertise the public URL and port that peers should connect to, while
# `listen_addresses` contains the loopback IP and port that this nodes listens on, which may
# not be publicly reachable.
# For validators it is a necessity to have a publicly reachable IP or hostname in order to be operative.
# Default: []
#advertised_addresses = [
# "/ip4/my.ip/tcp/8443/ws",
# "/dns4/my.public.domain.com/tcp/8443/wss",
#]
# User Agent string that describes what kind of node is running.
#
# Default: Generated from version, operating system and processor architecture
#user_agent = "core-rs-albatross/0.1.0 (native; linux x86_64)"
# If the node should try to connect to loopback addresses, which are usually not reachable
# from the public internet. This setting is useful for testing inside a local (Docker) network.
# Default: false
#allow_loopback_addresses = false
# The desired number of peer connections the network should try to maintain.
# Default: 12
#desired_peer_count = 12
# Where the peer key should be stored.
# Default: "~/.nimiq/peer_key.dat"
#peer_key_file = "path/to/peer_key.dat"
# The peer key to use. This must be an Ed25519 keypair in hex format.
# Only used when the `peer_key_file` does not exist.
# Default: randomly generated
#peer_key = ""
# The max number of peer connections the network allows.
# Default: 4000
#peer_count_max = 4000
# The max number of peer connections per IP address the network allows.
# Default: 20
#peer_count_per_ip_max = 20
# The max number of peer connections per subnet IP address the network allows.
# Default: 20
#peer_count_per_subnet_max = 20
##############################################################################
#
# TLS network configuration:
# - Path to private key file (PEM-encoded ASN.1 in either PKCS#8 or PKCS#1 format)
# - Path to a certificate or fullchain file (PEM-encoded X.509 format)
#
# Usually, PEM files from SSL providers like Let's Encrypt can be used as-is.
#
##############################################################################
#[network.tls]
#private_key = "./path/to/private_key.pem"
#certificates = "./path/to/certificate.pem"
##############################################################################
# Consensus configuration
##############################################################################
[consensus]
# The network to connect to.
# Possible values: "main-albatross", "test-albatross", "dev-albatross"
# Default: "main-albatross"
network = "main-albatross"
# The sync mode, which determines the client type.
# Validator nodes require "full" or "history" sync mode.
# Possible values: "history", "full", "light"
# Default: "history"
sync_mode = "full"
# The number of epochs that the node stores. This only concerns nodes with "full" sync mode.
# Default: 1
#max_epochs_stored = 1
# The number of synced peers required to establish consensus.
# Default: 3
#min_peers = 3
# The minimum distance away, in number of blocks, from the head to switch from state sync to live sync.
# This property only has an effect when the sync_mode is "full"
# Default: 10800 (3 hours worth of blocks)
#full_sync_threshold = 10800
# Enable or disable transaction indexing for history and full nodes.
# Default: true when the sync_mode is "history" and false when the sync_mode is "full".
#index_history = true
##############################################################################
# Database configuration
##############################################################################
[database]
# Path to folder in which the database is stored.
# Default: ~/.nimiq
#path = ""
# Size of mapped virtual memory (in bytes).
# Default: 1 TB
#size = 0
# Max number of databases.
# Default: 20
#max_dbs = 20
# Max number of reader threads.
# Default: 600
#max_readers = 600
##############################################################################
# ZK Prover configuration
#
# If the section header is uncommented, the prover is enabled.
##############################################################################
#[zk-prover]
# The path for the proving keys folder.
# Default: ".zkp"
#prover_keys_path = "path/to/folder"
##############################################################################
# JSON-RPC server configuration
#
# If the section header is uncommented, the server is enabled.
##############################################################################
[rpc-server]
# IP-address the RPC server should bind to.
# Default: 127.0.0.1
#bind = "127.0.0.1"
# TCP-port the JSON-RPC server should listen on.
# Default: 8648
#port = 8648
# Allow only the RPC methods listed here. All methods are allowed if this is empty.
# Example: ["getBlockByNumber", "getPeerCount"],
# Default: []
#methods = []
# Allow connections only from the IP addresses listed here. All IP addresses are allowed if this is empty.
# Default: []
#allowip = []
# Declare a username and password required to access the JSON-RPC server.
# Default: none
#username = "super"
# Default: none
#password = "secret"
##############################################################################
# Metrics-server configuration.
#
# If the section header is uncommented, the server is enabled.
##############################################################################
[metrics-server]
# Bind the metrics server to the specified IP.
# Default: 127.0.0.1
#bind = "127.0.0.1"
# Port to use to create a listening socket for the metrics server.
# Default: 9100
#port = 9100
# Declare a username and password required to access the metrics server.
# Default: none
#username = "super"
# Default: none
#password = "secret"
##############################################################################
# Log output configuration
##############################################################################
[log]
# The global log level.
# Possible values: "trace", "debug", "info", "warn", "error"
# Default: "info"
level = "debug"
# Individual log levels for specific tags.
# Default: none
#tags = { BaseConsensus = "debug" }
# Whether timestamps should be included for log statements.
# Default: true
#timestamps = false
# Interval in seconds in which the client status is logged.
# Default: 10
#statistics = 10
# Save log output to a file. If not specified, logs to stderr.
# Default: none
#file = "nimiq-client.log"
# Tokio console.
# Default: None
#tokio_console_bind_address = "127.0.0.1:6669"
# Loki target
#[log.loki]
# Loki server address.
# Default: None
#url = "http://localhost:3100"
# Labels set on the log messages. There should only be a finite amount of
# different label values, and ideally very few labels. See the Loki
# documentation for details.
#labels = { host = "mine" }
# Extra fields added to each log message (e.g. to distinguish runs).
#extra_fields = { run = "e2f8e044-0067-4902-914f-261b7f500ba7" }
##############################################################################
# Configure log output for the prover process.
#
# This section offers the same options as the [log] section.
##############################################################################
#[prover-log]
# The prover log level.
# Possible values: "trace", "debug", "info", "warn", "error"
# Default: "info"
#level = "debug"
##############################################################################
# Mempool configuration
###############################################################################
[mempool]
# Total size limit for transactions in the mempool, in bytes.
# Default: 12_000_000 (~ 100_000 basic tx)
#size_limit = 12_000_000
# Total size limit for control transactions in the mempool, in bytes.
# Default: 6_000_000
#control_size_limit = 6_000_000
# Maximum size of the transaction black list.
# Default: 25000
#blacklist_limit = 25000
# Rules to filter mempool transaction by.
#[mempool.filter]
# Minimum fee for all transactions.
#tx_fee = 0
# Minimum fee per byte for all transactions.
#tx_fee_per_byte = 0
# Minimum value for all transactions.
#tx_value = 0
# Minimum total value (value + fee) for all transactions.
#tx_value_total = 0
# Minimum fee for transactions creating a contract.
#contract_fee = 0
# Minimum fee per byte for transactions creating a contract.
#contract_fee_per_byte = 0
# Minimum value for transactions creating a contract.
#contract_value = 0
# Minimum fee for transactions creating a new account.
#creation_fee = 0
# Minimum fee per byte for transactions creating a new account.
#creation_fee_per_byte = 0
# Minimum value for transactions creating a new account.
#creation_value = 0
# Minimum balance that the recipient account must have after the transaction.
#sender_balance = 0
# Minimum balance that must remain on the sender account after the transaction, if not zero.
#recipient_balance = 0
##############################################################################
# Validator configuration
#
# If the section header is uncommented, validator mode is enabled.
###############################################################################
#[validator]
# The address of the validator.
#validator_address = "NQ07 0000 0000 0000 0000 0000 0000 0000 0000"
# Whether to automatically create and send reactivation transactions when the validator becomes inactive.
# Default: false
#automatic_reactivate = true
# Where to store the validator signing key.
# Default: "~/.nimiq/signing_key.dat"
#signing_key_file = "signing_key.dat"
# The validator signing key. This must be an Ed25519 private key in hex format.
# Only used when the `signing_key_file` does not exist.
# Default: randomly generated
#signing_key = ""
# Where to store the validator voting key.
# Default: "~/.nimiq/voting_key.dat"
#voting_key_file = "voting_key.dat"
# The validator voting key. This must be a BLS private key in hex format.
# Only used when the `voting_key_file` does not exist.
# Default: randomly generated
#voting_key = ""
# Where to store the validator fee key.
# Default: "~/.nimiq/fee_key.dat"
#fee_key_file = "fee_key.dat"
# The validator fee key. This must be an Ed25519 private key in hex format.
# Only used when the `fee_key_file` does not exist.
# Default: randomly generated
#fee_key = ""