You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: Add example config for hard fork customizations (#91)
* Clarify how to customize hard forks in L2 chain with an example
* Minor tweaks to help clarify a couple of other aspects such as usage
of configuration parameters etc.
Co-authored-by: Vinod Damle <vinod@oplabs.co>
Co-authored-by: Barnabas Busa <barnabas.busa@ethereum.org>
Copy file name to clipboardExpand all lines: README.md
+42-3Lines changed: 42 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
## Welcome to Optimism Package
2
-
The default package for Optimism
2
+
The default package for Optimism. The kurtosis package uses [op-deployer](https://github.com/ethereum-optimism/optimism/tree/develop/op-deployer) to manage
3
+
the L2 chains and all associated artifacts such as contract deployments.
3
4
4
5
```yaml
5
6
optimism_package:
@@ -28,7 +29,7 @@ Kurtosis packages are parameterizable, meaning you can customize your network an
28
29
kurtosis run github.com/ethpandaops/optimism-package --args-file https://raw.githubusercontent.com/ethpandaops/optimism-package/main/network_params.yaml
29
30
```
30
31
31
-
For `--args-file` you can pass a local file path or a URL to a file.
32
+
For `--args-file` parameters file, you can pass a local file path or a URL to a file.
32
33
33
34
To clean up running enclaves and data, you can run:
34
35
@@ -38,6 +39,15 @@ kurtosis clean -a
38
39
39
40
This will stop and remove all running enclaves and **delete all data**.
40
41
42
+
#### Run with changes to the optimism package
43
+
44
+
If you are attempting to test any changes to the package code, you can point to the directory as the `run` argument
45
+
46
+
```bash
47
+
cd ~/go/src/github.com/ethpandaops/optimism-package
48
+
kurtosis run . --args-file ./network_params.yaml
49
+
```
50
+
41
51
# L2 Contract deployer
42
52
The enclave will automatically deploy an optimism L2 contract on the L1 network. The contract address will be printed in the logs. You can use this contract address to interact with the L2 network.
43
53
@@ -46,7 +56,8 @@ Please refer to this Dockerfile if you want to see how the contract deployer ima
46
56
47
57
## Configuration
48
58
49
-
To configure the package behaviour, you can modify your `network_params.yaml` file. The full YAML schema that can be passed in is as follows with the defaults provided:
59
+
To configure the package behaviour, you can modify your `network_params.yaml` file and use that as the input to `--args-file`.
60
+
The full YAML schema that can be passed in is as follows with the defaults provided:
50
61
51
62
```yaml
52
63
optimism_package:
@@ -292,6 +303,8 @@ optimism_package:
292
303
293
304
### Additional configuration recommendations
294
305
306
+
#### L1 customization
307
+
295
308
It is required you to launch an L1 Ethereum node to interact with the L2 network. You can use the `ethereum_package` to launch an Ethereum node. The `ethereum_package` configuration is as follows:
296
309
297
310
```yaml
@@ -313,6 +326,32 @@ ethereum_package:
313
326
- blockscout
314
327
```
315
328
329
+
#### L2 customization with Hard Fork transitions
330
+
331
+
To spin up an L2 chain with specific hard fork transition blocks and any local docker image to run the EL/CL components,
332
+
use the `network_params` section of your arguments file to specify the hard fork transitions and custom images.
0 commit comments