forked from 0xPolygon/kurtosis-cdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
kurtosis.yml
170 lines (136 loc) · 6.92 KB
/
kurtosis.yml
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
name: github.com/0xPolygon/kurtosis-cdk
description: |-
Polygon CDK
========
This package allows you to provision a Polygon CDK Devnet within Kurtosis
Configuration
-------------
Currently, the deployment process includes the following stages:
Deploy Local L1.
Deploy zkEVM contracts on L1.
Deploy zkEVM node and CDK peripheral databases.
Deploy CDK central/trusted environment.
Deploy CDK/bridge infrastructure.
Deploy permissionless node.
Deploy CDK erigon node.
Deploy observability stack.
Deploy eth load balancer.
Apply workload to the different components of the CDK stack.
These are configurable via the form inputs.
The following other args optionally configurable via args object. Here are the default values:
```yml
# Suffix appended to service names.
# Note: It should be a string.
deployment_suffix: "-001"
# The type of data availability to use.
# Options:
# - 'rollup': Transaction data is stored on-chain on L1.
# - 'cdk-validium': Transaction data is stored off-chain using the CDK DA layer and a DAC.
# In the future, we would like to support external DA protocols such as Avail, Celestia and Near.
data_availability_mode: cdk-validium
# Docker images and repositories used to spin up services.
zkevm_prover_image: hermeznetwork/zkevm-prover:v6.0.0
# zkevm_prover_image: hermeznetwork/zkevm-prover:v4.0.19
zkevm_node_image: hermeznetwork/zkevm-node:v0.6.5
cdk_node_image: 0xpolygon/cdk-validium-node:0.6.5-cdk
# cdk_node_image: 0xpolygon/cdk-validium-node:0.5.13-cdk.3
zkevm_da_image: 0xpolygon/cdk-data-availability:0.0.7
# zkevm_da_image: 0xpolygon/cdk-data-availability:0.0.6
zkevm_contracts_image: leovct/zkevm-contracts # the tag is automatically replaced by the value of /zkevm_rollup_fork_id/
zkevm_agglayer_image: ghcr.io/agglayer/agglayer-rs:main
zkevm_bridge_service_image: hermeznetwork/zkevm-bridge-service:v0.4.2
panoptichain_image: minhdvu/panoptichain
# temporary fork https://github.com/praetoriansentry/zkevm-bridge-ui/commit/6eaa899997f70e53947d7b067ff7ae37ef1875f3
zkevm_bridge_ui_image: leovct/zkevm-bridge-ui:multi-network
zkevm_bridge_proxy_image: haproxy:2.9.7
zkevm_sequence_sender_image: hermeznetwork/zkevm-sequence-sender:v0.2.0-RC4
cdk_erigon_node_image: hermeznetwork/cdk-erigon:v1.0.9
toolbox_image: leovct/toolbox:0.0.1
sequencer_type: zkevm-node
# Port configuration.
zkevm_hash_db_port: 50061
zkevm_executor_port: 50071
zkevm_aggregator_port: 50081
zkevm_pprof_port: 6060
zkevm_prometheus_port: 9091
zkevm_data_streamer_port: 6900
zkevm_rpc_http_port: 8123
zkevm_rpc_ws_port: 8133
zkevm_bridge_rpc_port: 8080
zkevm_bridge_grpc_port: 9090
zkevm_bridge_ui_port: 80
zkevm_agglayer_port: 4444
zkevm_dac_port: 8484
blockscout_public_port: 50101
# Addresses and private keys of the different components.
# They have been generated using the following command:
# polycli wallet inspect --mnemonic 'lab code glass agree maid neutral vessel horror deny frequent favorite soft gate galaxy proof vintage once figure diary virtual scissors marble shrug drop' --addresses 9 | tee keys.txt | jq -r '.Addresses[] | [.ETHAddress, .HexPrivateKey] | @tsv' | awk 'BEGIN{split("sequencer,aggregator,claimtxmanager,timelock,admin,loadtest,agglayer,dac,proofsigner",roles,",")} {print "zkevm_l2_" roles[NR] "_address: \"" $1 "\""; print "zkevm_l2_" roles[NR] "_private_key: \"0x" $2 "\"\n"}'
zkevm_l2_sequencer_address: "0x5b06837A43bdC3dD9F114558DAf4B26ed49842Ed"
zkevm_l2_sequencer_private_key: "0x183c492d0ba156041a7f31a1b188958a7a22eebadca741a7fe64436092dc3181"
zkevm_l2_aggregator_address: "0xCae5b68Ff783594bDe1b93cdE627c741722c4D4d"
zkevm_l2_aggregator_private_key: "0x2857ca0e7748448f3a50469f7ffe55cde7299d5696aedd72cfe18a06fb856970"
zkevm_l2_claimtxmanager_address: "0x5f5dB0D4D58310F53713eF4Df80ba6717868A9f8"
zkevm_l2_claimtxmanager_private_key: "0x8d5c9ecd4ba2a195db3777c8412f8e3370ae9adffac222a54a84e116c7f8b934"
zkevm_l2_timelock_address: "0x130aA39Aa80407BD251c3d274d161ca302c52B7A"
zkevm_l2_timelock_private_key: "0x80051baf5a0a749296b9dcdb4a38a264d2eea6d43edcf012d20b5560708cf45f"
zkevm_l2_admin_address: "0xE34aaF64b29273B7D567FCFc40544c014EEe9970"
zkevm_l2_admin_private_key: "0x12d7de8621a77640c9241b2595ba78ce443d05e94090365ab3bb5e19df82c625"
zkevm_l2_loadtest_address: "0x81457240ff5b49CaF176885ED07e3E7BFbE9Fb81"
zkevm_l2_loadtest_private_key: "0xd7df6d64c569ffdfe7c56e6b34e7a2bdc7b7583db74512a9ffe26fe07faaa5de"
zkevm_l2_agglayer_address: "0x351e560852ee001d5D19b5912a269F849f59479a"
zkevm_l2_agglayer_private_key: "0x1d45f90c0a9814d8b8af968fa0677dab2a8ff0266f33b136e560fe420858a419"
zkevm_l2_dac_address: "0x5951F5b2604c9B42E478d5e2B2437F44073eF9A6"
zkevm_l2_dac_private_key: "0x85d836ee6ea6f48bae27b31535e6fc2eefe056f2276b9353aafb294277d8159b"
zkevm_l2_proofsigner_address: "0x7569cc70950726784c8D3bB256F48e43259Cb445"
zkevm_l2_proofsigner_private_key: "0x77254a70a02223acebf84b6ed8afddff9d3203e31ad219b2bf900f4780cf9b51"
# Keystore password.
zkevm_l2_keystore_password: pSnv6Dh5s9ahuzGzH9RoCDrKAMddaX3m
## L1 configuration.
l1_chain_id: 271828
l1_preallocated_mnemonic: code code code code code code code code code code code quality
l1_funding_amount: 100ether
l1_rpc_url: http://el-1-geth-lighthouse:8545
l1_ws_url: ws://el-1-geth-lighthouse:8546
# https://github.com/ethpandaops/ethereum-package/tree/main?tab=readme-ov-file#configuration
l1_additional_services: [
# blockscout, # block explorer
# dora, # beaconchain explorer
# el_forkmon, # fork monitor tool
]
l1_preset: mainnet
l1_seconds_per_slot: 12
## Rollup configuration.
# The chain id of the new rollup.
zkevm_rollup_chain_id: 10101
# The fork id of the new rollup. It indicates the prover (zkROM/executor) version.
zkevm_rollup_fork_id: 9
polygon_zkevm_explorer: https://explorer.private/
l1_explorer_url: https://sepolia.etherscan.io/
# If this is true, we will automatically deploy an ERC20 contract on
# L1 to be used at the gasTokenAddress
zkevm_use_gas_token_contract: false
## Permissionless node configuration.
trusted_sequencer_node_uri: zkevm-node-sequencer-001:6900
zkevm_aggregator_host: zkevm-node-aggregator-001
genesis_file: templates/permissionless-node/genesis.json
## Tools versions
polycli_version: v0.1.42
## Workload configuration.
workload_commands: [
"polycli_loadtest_on_l2.sh t", # eth transfers
"polycli_loadtest_on_l2.sh 2", # erc20 transfers
"polycli_loadtest_on_l2.sh 7", # erc721 mints
"polycli_loadtest_on_l2.sh v3", # uniswapv3 swaps
"polycli_rpcfuzz_on_l2.sh", # rpc calls
"bridge.sh", # bridge tokens l1 -> l2 and l2 -> l1
]
## ETH Load balancer configuration.
blutgang_image: makemake1337/blutgang:0.3.5
blutgang_rpc_port: 55555
blutgang_admin_port: 55556
## Observability alerting configuration.
# slack_alerts:
# slack_channel: ""
# slack_token: ""
# mention_users: ""
```