taikoxyz / taiko-reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
Apache License 2.0
39 stars 36 forks source link

feat(gwyneth): initial draft of the issue desc. #24

Closed adaki2004 closed 3 months ago

adaki2004 commented 3 months ago

Draft of the described, simplified protocol here: https://github.com/taikoxyz/taiko-reth/issues/22

adaki2004 commented 3 months ago
adaki2004 commented 3 months ago

@Brechtpd Makefile is added to packages/protocol. (Tested with macOs, but shall work with ubuntu too)

It currently only up your local image (taiko_reth) based network. If the local taiko_reth named image not found, it builds it with that name. If found, uses that. (So in case you change something in the codebase but you have the image from a prev. version, you gotta rebuild it with same tag yourself before using the setup script.)

Also currently the deployment (DeployL1Locally.s.sol, but you can deploy yourself with the 1-liner command in local_deployments.md) is not available because default Kurtosis is running with random, ephemeral ports, so i either need a custom script to detect the RPC or dive deeper into Kurtosis if possible to use static port binding.

adaki2004 commented 3 months ago

...currently the deployment (DeployL1Locally.s.sol, but you can deploy yourself with the 1-liner command in local_deployments.md) is not available because default Kurtosis is running with random, ephemeral ports, so i either need a custom script to detect the RPC or dive deeper into Kurtosis if possible to use static port binding.

Ok, make install now works, and deploys the contracts. (Port is still dynamic, but parsed out from the Kurtosis logs to support deployment.). Also tested on ubuntu 20.04, and setup works.

Firing away the first proposeBlock() transaction can be done via the script: forge script --rpc-url http://127.0.0.1:YOUR_PORT scripts/L2_txn_simulation/ProposeBlock.s.sol -vvvv --broadcast --private-key <PK_FROM_SAMPLE_ENV_IS_FINE> --legacy