forked from cerc-io/stack-orchestrator
Add Optimism Fixturenet stack (#266)
* Initial version
* Update readme
* Build op-geth container
* Add optimism go code containers
* Add optimism contracts container
* Update optimism contracts container build
* Add fixturenet-optimism-contracts service to deploy L1 contracts
* Add fixturenet-optimism op-node and op-geth
* Avoid reading addresses from a file when sending balances
* Fixes for running op-geth container
* Fix image name and command in optimism-contracts service
* Add a healthcheck to lighthouse bootnode to avoid failing eth txs
* Avoid using hardhat ethers to send balances from an account
* Update script to send balance to L1 bridge proxy contract
* Implement op-node container
* Wait for a finalized L1 block to exist
* Fix for running op-batcher
* Add a todo for restart support
* Integrate optimism-contracts service and update instructions
* Update clean-up to remove docker volumes
* Update volume access permissions
* Add a todo to replace foundry usage with web3 js
* Add known issues
* Fix README
* Fix indentation
* Update known issues
---------
Co-authored-by: David Boreham <david@bozemanpas.com>
Co-authored-by: David Boreham <david@bozemanpass.com>
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
Former-commit-id: fc522140ba
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
version: "1.0"
|
||||
version: "1.1"
|
||||
name: fixturenet-eth
|
||||
decription: "Ethereum Fixturenet"
|
||||
repos:
|
||||
- cerc-io/go-ethereum
|
||||
- cerc-io/tx-spammer
|
||||
- dboreham/foundry
|
||||
containers:
|
||||
- cerc/go-ethereum
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
# fixturenet-optimism
|
||||
|
||||
Instructions to setup and deploy an end-to-end L1+L2 stack with [fixturenet-eth](../fixturenet-eth/) (L1) and [Optimism](https://stack.optimism.io) (L2)
|
||||
|
||||
## Setup
|
||||
|
||||
Clone required repositories:
|
||||
|
||||
```bash
|
||||
laconic-so --stack fixturenet-optimism setup-repositories
|
||||
```
|
||||
|
||||
Checkout to the required versions and branches in repos:
|
||||
|
||||
```bash
|
||||
# optimism
|
||||
cd ~/cerc/optimism
|
||||
git checkout @eth-optimism/sdk@0.0.0-20230329025055
|
||||
```
|
||||
|
||||
Build the container images:
|
||||
|
||||
```bash
|
||||
laconic-so --stack fixturenet-optimism build-containers
|
||||
```
|
||||
|
||||
This should create the required docker images in the local image registry:
|
||||
* `cerc/go-ethereum`
|
||||
* `cerc/lighthouse`
|
||||
* `cerc/fixturenet-eth-geth`
|
||||
* `cerc/fixturenet-eth-lighthouse`
|
||||
* `cerc/foundry`
|
||||
* `cerc/optimism-contracts`
|
||||
* `cerc/optimism-l2geth`
|
||||
* `cerc/optimism-op-batcher`
|
||||
* `cerc/optimism-op-node`
|
||||
|
||||
## Deploy
|
||||
|
||||
Deploy the stack:
|
||||
|
||||
```bash
|
||||
laconic-so --stack fixturenet-optimism deploy up
|
||||
```
|
||||
|
||||
To list down the running containers:
|
||||
|
||||
```bash
|
||||
laconic-so --stack fixturenet-optimism deploy ps
|
||||
|
||||
# With status
|
||||
docker ps
|
||||
```
|
||||
|
||||
## Clean up
|
||||
|
||||
Stop all services running in the background:
|
||||
|
||||
```bash
|
||||
laconic-so --stack fixturenet-optimism deploy down
|
||||
```
|
||||
|
||||
Remove volumes created by this stack:
|
||||
|
||||
```bash
|
||||
docker volume ls
|
||||
|
||||
docker volume rm laconic-d527651bba3cb61886b36a7400bd2a38_fixturenet-geth-accounts
|
||||
docker volume rm laconic-d527651bba3cb61886b36a7400bd2a38_l1-deployment
|
||||
docker volume rm laconic-d527651bba3cb61886b36a7400bd2a38_l2-accounts
|
||||
docker volume rm laconic-d527651bba3cb61886b36a7400bd2a38_op_node_data
|
||||
```
|
||||
|
||||
## Known Issues
|
||||
|
||||
* Currently not supported:
|
||||
* Stopping and restarting the stack from where it left off; currently starts fresh on a restart
|
||||
* Pointing Optimism (L2) to external L1 endpoint to allow running only L2 services
|
||||
* Resource requirements (memory + time) for building `cerc/foundry` image are on the higher side
|
||||
* `cerc/optimism-contracts` image is currently based on `cerc/foundry` (Optimism requires foundry installation)
|
||||
@@ -0,0 +1,21 @@
|
||||
version: "1.0"
|
||||
name: fixturenet-optimism
|
||||
decription: "Optimism Fixturenet"
|
||||
repos:
|
||||
- cerc-io/go-ethereum
|
||||
- dboreham/foundry
|
||||
- ethereum-optimism/optimism
|
||||
- ethereum-optimism/op-geth
|
||||
containers:
|
||||
- cerc/go-ethereum
|
||||
- cerc/lighthouse
|
||||
- cerc/fixturenet-eth-geth
|
||||
- cerc/fixturenet-eth-lighthouse
|
||||
- cerc/foundry
|
||||
- cerc/optimism-contracts
|
||||
- cerc/optimism-l2geth
|
||||
- cerc/optimism-op-batcher
|
||||
- cerc/optimism-op-node
|
||||
pods:
|
||||
- fixturenet-eth
|
||||
- fixturenet-optimism
|
||||
Reference in New Issue
Block a user