-
Notifications
You must be signed in to change notification settings - Fork 42
/
0chain.yaml
200 lines (189 loc) · 5.61 KB
/
0chain.yaml
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
version: 1.0
logging:
level: "debug"
verbose: false
console: true # printing log to console is only supported in development mode
goroutines: false
memlog: false
development:
smart_contract:
zrc20: true
txn_generation:
wallets: 50
max_transactions: 0
max_txn_fee: 10000
min_txn_fee: 0
max_txn_value: 10000000000
min_txn_value: 100
faucet:
refill_amount: 1000000000000000
pprof: true
server_chain:
id: "0afc093ffb509f059c55478bc1a60351cef7b4e9c008a53a6cc8241ca8617dfe"
owner: "edb90b850f2e7e7cbd0a1fa370fdcc5cd378ffbec95363a7bc0e5a98b8ba5759"
decimals: 10
tokens: 200000000
genesis_block:
id: "ed79cae70d439c11258236da1dfa6fc550f7cc569768304623e8fbd7d70efae4"
block:
min_block_size: 1
max_block_cost: 10000 #equal to 100ms
max_byte_size: 1638400
min_generators: 2
generators_percent: 0.2
replicators: 0
generation:
timeout: 15
retry_wait_time: 5 #milliseconds
proposal:
max_wait_time: 180ms
wait_mode: static # static or dynamic
consensus:
threshold_by_count: 66 # percentage (registration)
threshold_by_stake: 0 # percent
sharding:
min_active_sharders: 25 # percentage
min_active_replicators: 25 # percentageRF
validation:
batch_size: 1000
reuse_txns: false
finalization:
timeout: 30s
round_range: 10000000 #todo remove after laxmi is merge
dkg: true
view_change: false
round_timeouts:
softto_min: 1500 # in miliseconds
softto_mult: 1 # multiples of mean network time (mnt) softto = max{softo_min, softto_mult * mnt}
round_restart_mult: 10 # number of soft timeouts before round is restarted
timeout_cap: 1 # 0 indicates no cap
vrfs_timeout_mismatch_tolerance: 5
transaction:
payload:
max_size: 98304 # bytes
timeout: 600 # seconds
min_fee: 0
max_fee: 1 # max fee per txn would be 1 ZCN, adjust later if needed
transfer_cost: 10
cost_fee_coeff: 1000 # 1000 unit cost per 1 ZCN
future_nonce: 10 # allow 10 nonce ahead of current client state
exempt:
- contributeMpk
- shareSignsOrShares
- wait
- pour
client:
signature_scheme: bls0chain # ed25519 or bls0chain
discover: true
messages:
verification_tickets_to: all_miners # generator or all_miners
state:
enabled: true #todo we really need it?
prune_below_count: 100 # rounds
sync:
timeout: 10 # seconds
block_rewards: true
stuck:
check_interval: 10 # seconds
time_threshold: 60 #seconds
smart_contract:
setting_update_period: 200 #rounds
timeout: 8000ms
storage: true
faucet: true
miner: true
multisig: false
vesting: false
zcn: true
health_check:
show_counters: true
deep_scan:
enabled: false
settle_secs: 30s
window: 0 #Full scan till round 0
repeat_interval_mins: 3m #minutes
report_status_mins: 1m #minutes
batch_size: 50
proximity_scan:
enabled: true
settle_secs: 30s
window: 100000
repeat_interval_mins: 1m #minutes
report_status_mins: 1m #minutes
batch_size: 50
lfb_ticket:
rebroadcast_timeout: "15s" #
ahead: 5 # should be >= 5
fb_fetching_lifetime: "10s" #todo add to config
async_blocks_fetching:
max_simultaneous_from_miners: 100
max_simultaneous_from_sharders: 30
dbs:
events:
# event database configuration local
enabled: true
name: events_db
user: zchain_user
password: zchian
host: postgres #localhost
port: 5432
max_idle_conns: 100
max_open_conns: 200
conn_max_lifetime: 20s
slowtablespace: hdd_tablespace
settings:
# event database settings blockchain
debug: false
aggregate_period: 10
permanent_partition_change_period: 2000000
permanent_partition_keep_count: 1
partition_change_period: 100000
partition_keep_count: 20
page_limit: 50
network:
magic_block_file: config/b0magicBlock_4_miners_2_sharders.json
initial_states: config/initial_state.yaml
genesis_dkg: 0
dns_url: "" # http://198.18.0.98:9091
relay_time: 200 # milliseconds
max_concurrent_requests: 40
timeout:
small_message: 1000 # milliseconds
large_message: 3000 # milliseconds
large_message_th_size: 5120 # anything greater than this size in bytes
user_handlers:
rate_limit: 100000000 # 100 per second
n2n_handlers:
rate_limit: 10000000000 # 10000 per second
# delegate wallet is wallet that used to configure node in Miner SC; if its
# empty, then node ID used
delegate_wallet: ""
# % of fees and rewards for generator
service_charge: 0.10 # [0; 1) of all fees
# max number of delegate pools allowed by a node in miner SC
number_of_delegates: 10 # max number of delegate pools
# There's a TODO comment in fs_store.go. Please check this while we go into production.
storage:
# cache is optional. It should be SSD drive. Having HDD drive as cache is not effective.
# Cache is effective when blocks are stored in HDD. Cache stores uncompressed blocks so that
# accessing and unmarshalling is faster than with compressed block in HDD.
#
# Uncomment the following lines to enable cache.
# cache:
# path: "/path/to/cache"
# total_blocks: 1000 # Total number of blocks this cache will store
# integration tests related configurations
integration_tests:
# address of the server
address: host.docker.internal:15210
# lock_interval used by nodes to request server to connect to blockchain
# after start
lock_interval: 1s
kafka:
enabled: false
host: "198.19.0.99:9092"
username: "admin"
password: "password"
topic: "events"
write_timeout: 10s
trigger_round: 2000