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
Copy file name to clipboardExpand all lines: README_ESPRESSO.md
+49-1Lines changed: 49 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ Note: For deployment configuration, read `README_ESPRESSO_DEPLOY_CONFIG.md`.
22
22
```
23
23
24
24
25
-
## Docker
25
+
## Local devnet
26
26
27
27
In order to download the docker images required by this project you may need to authenticate using a PAT.
28
28
@@ -397,3 +397,51 @@ and the proposer services if running with the TEE.
397
397
```console
398
398
./shutdown.sh
399
399
```
400
+
401
+
# OP Succinct Lite dependencies
402
+
403
+
## Repositories
404
+
405
+
There are three types of repositories:
406
+
1. Kona implements the OP stack in Rust.
407
+
2. Celo-Kona is a wrapper of Kona with Celo specific changes.
408
+
3. OP Succinct: uses Kona and in our case also Celo-Kona in order to compute zk proofs for an OP rollup state change which is used in the challenger and proposer services.
409
+
410
+
The diagram below shows the relationship between the repositories.
411
+
Note importantly that OP Succinct (both in the case of Celo and Espresso) import not only Celo-Kona but also Kona.
412
+
413
+
The OP Succinct repository for Espresso generates using Github actions the docker images for the challenger and proposer services.
414
+
415
+
416
+

417
+
418
+
The table below is more specific regarding which branches of these repositories are used.
419
+
420
+
421
+
| External | Celo (rep/branch) | Espresso (rep/branch)|
## Making a change to the derivation pipeline and propagating it to the relevant repositories.
429
+
430
+
In our setting changes to the derivation pipeline are made in the [kona](https://github.com/EspressoSystems/kona/tree/espresso-integration-v1.1.7) repository. Then these changes need to be propagated to the [celo-kona](https://github.com/EspressoSystems/celo-kona) and [op-succinct](https://github.com/EspressoSystems/op-succinct) repositories, generate the docker images for the challenger and proposer, and use these images in [optimism-espresso-integration](https://github.com/EspressoSystems/optimism-espresso-integration) as follows.
431
+
432
+
433
+
1. Merge your PR into [kona-celo-fork](https://github.com/EspressoSystems/kona-celo-fork/tree/espresso-integration). This PR contains some changes to the derivation pipeline. E.g.: [bfabb62](https://github.com/EspressoSystems/kona-celo-fork/commit/bfabb62754bc53317ecb93442bb09d347cd6aad9).
434
+
435
+
1. Create a PR against [celo-kona](https://github.com/EspressoSystems/celo-kona/tree/espresso-integration). This PR will edit the `Cargo.toml` file to reference the updated kona version, e.g: [a94b317](https://github.com/EspressoSystems/celo-kona/commit/a94b3172b1248a7cd650d692226c9d17b832eec9).
436
+
437
+
1. Create a PR in [op-succinct](https://github.com/EspressoSystems/op-succinct) and merge it into the branch [espresso-integration](https://github.com/EspressoSystems/op-succinct/tree/espresso-integration). This PR will edit the `Cargo.toml` file to reference the updated kona and celo-kona version, e.g: [41780a3](https://github.com/EspressoSystems/op-succinct/pull/3/commits/41780a339bb1e177281957fcfe0383dfa41eff15).
438
+
439
+
1. After running CI, check for new images of the succinct proposer and challenger services at
* These images should be updated in the [docker-compose.yml](https://github.com/EspressoSystems/optimism-espresso-integration/blob/b73ee83611418cd6ce3aa2d27e00881d9df7e012/espresso/docker-compose.yml) file when new versions are available. See for example [bd90858](https://github.com/EspressoSystems/optimism-espresso-integration/pull/293/commits/bd90858b0f871441785d4ac6437ff78b76d4b1f8).
443
+
444
+
445
+
Note that periodically we need to merge upstream changes in the `kona`, `celo-kona`, and `op-succinct` repositories to keep our integration branches up to date. This ensures that our custom modifications don't drift too far from the upstream codebase and that we can easily incorporate bug fixes and new features from the upstream projects.
0 commit comments