Skip to content
This repository has been archived by the owner on Jul 10, 2023. It is now read-only.

Commit

Permalink
Update README with deprecation and vuln notice
Browse files Browse the repository at this point in the history
  • Loading branch information
ed255 committed Jul 10, 2023
1 parent 7b31286 commit 990f871
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 35 deletions.
39 changes: 4 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,7 @@
[![Coverage Status](https://coveralls.io/repos/github/privacy-scaling-explorations/zkevm-chain/badge.svg?branch=master)](https://coveralls.io/github/privacy-scaling-explorations/zkevm-chain?branch=master)
# Deprecated - zkevm-chain

###### Prover Integration Test Status
[![Pi Circuit aggregation eth_transfer](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-eth-transfer.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-eth-transfer.yml)
[![Pi Circuit aggregation native_withdraw](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-native-withdraw.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-native-withdraw.yml)
[![Super Circuit aggregation eth_transfer](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-eth-transfer.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-eth-transfer.yml)
[![Super Circuit aggregation native_withdraw](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-native-withdraw.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-native-withdraw.yml)
[![Super Circuit aggregation worst_case_mload](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-mload.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-mload.yml)
[![Super Circuit aggregation worst_case_smod](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-smod.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-smod.yml)
[![Super Circuit aggregation worst_case_keccak_0_32](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-keccak-0-32.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-keccak-0-32.yml)
**Important Notice:** This repository is no longer actively maintained or supported, and contains a vulnerability in the smart contracts.

## Structure

|Path|Description|
|-|-|
|`coordinator/`|coordinator daemon|
|`contracts/`|l1/l2 bridge contracts|
|`docker/`|dockerfiles for various purposes|
|`scripts/`|helpful scripts|

## Setup
`cp .env.example .env` and edit the values. The account you specify in that file will be the miner of the clique network and will have ETH allocated in the genesis block.

If you make changes to the genesis file, then you have to delete the existing chain via `docker compose down --volumes` - this will delete any volumes associated with this setup.
Use `DOCKER_BUILDKIT=1 docker compose up` to start the chain.

You can use `./scripts/dev.sh` to start a local dev environment without the coordinator-service that drops you into a shell. Useful if you want to work on the `coordinator/` daemon.

## Developer workflows
###### Testing the coordinator & prover with `cargo test`
Enter the developer service via `./scripts/dev.sh`.
Inside that shell you can use this wrapper script to build & start the `prover_rpcd` in the background and invoke `cargo test -- eth_transfer`:
```
./scripts/test_prover.sh eth_transfer
```
The output of the prover damon will be piped to `PROVER_LOG.txt`.
If you need fixtures for the L2 block with number 1, then use `./scripts/get_block_fixtures.sh $COORDINATOR_L2_RPC_URL 1` to retrieve it for you.
For some months already we have determined that the scope of our project doesn't involve building an L2 zkRollup. Our main goals are: build a system to generate zk proofs of correct Ethereum Block processing, and from this create a project where proofs for each L1 block are generated so that light clients can sync with very low resources requirement. A secondary goal is to offer the Block zk proof system as a library/toolkit for others to build a zkRollup on top of it. This means we're not actively developing mechanisms related to managing an L2 (decision for making blocks, coordinators, bridging, etc.). The zkevm-chain repo started with that aim but after our shift in focus it remained as an infrastructure for end-to-end testing of blocks zk proofs and benchmarking.

This repository contains an [**unfixed DoS vulnerability** in the smart contracts code](https://github.com/privacy-scaling-explorations/zkevm-chain/security/advisories/GHSA-6m99-mxg3-pv9h); please be aware of this if you decide use this repository in any way.
38 changes: 38 additions & 0 deletions README.original.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
[![Coverage Status](https://coveralls.io/repos/github/privacy-scaling-explorations/zkevm-chain/badge.svg?branch=master)](https://coveralls.io/github/privacy-scaling-explorations/zkevm-chain?branch=master)

###### Prover Integration Test Status
[![Pi Circuit aggregation eth_transfer](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-eth-transfer.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-eth-transfer.yml)
[![Pi Circuit aggregation native_withdraw](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-native-withdraw.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/pi-native-withdraw.yml)
[![Super Circuit aggregation eth_transfer](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-eth-transfer.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-eth-transfer.yml)
[![Super Circuit aggregation native_withdraw](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-native-withdraw.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-native-withdraw.yml)
[![Super Circuit aggregation worst_case_mload](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-mload.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-mload.yml)
[![Super Circuit aggregation worst_case_smod](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-smod.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-smod.yml)
[![Super Circuit aggregation worst_case_keccak_0_32](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-keccak-0-32.yml/badge.svg)](https://github.com/privacy-scaling-explorations/zkevm-chain/actions/workflows/super-worst-case-keccak-0-32.yml)

## Structure

|Path|Description|
|-|-|
|`coordinator/`|coordinator daemon|
|`contracts/`|l1/l2 bridge contracts|
|`docker/`|dockerfiles for various purposes|
|`scripts/`|helpful scripts|

## Setup
`cp .env.example .env` and edit the values. The account you specify in that file will be the miner of the clique network and will have ETH allocated in the genesis block.

If you make changes to the genesis file, then you have to delete the existing chain via `docker compose down --volumes` - this will delete any volumes associated with this setup.
Use `DOCKER_BUILDKIT=1 docker compose up` to start the chain.

You can use `./scripts/dev.sh` to start a local dev environment without the coordinator-service that drops you into a shell. Useful if you want to work on the `coordinator/` daemon.

## Developer workflows
###### Testing the coordinator & prover with `cargo test`
Enter the developer service via `./scripts/dev.sh`.
Inside that shell you can use this wrapper script to build & start the `prover_rpcd` in the background and invoke `cargo test -- eth_transfer`:
```
./scripts/test_prover.sh eth_transfer
```
The output of the prover damon will be piped to `PROVER_LOG.txt`.
If you need fixtures for the L2 block with number 1, then use `./scripts/get_block_fixtures.sh $COORDINATOR_L2_RPC_URL 1` to retrieve it for you.

0 comments on commit 990f871

Please sign in to comment.