Code Monkey home page Code Monkey logo

mothership-l2launcher's Introduction

L2launcher

This repository contains base docker-compose.yml template to setup Optimism Stack and optional Stackup Bundler with a CLI script to fill out required environment variables into .env.

Usage

Prerequisites

  • Docker with docker compose
  • Deno (only if using CLI script)
  • Required environment variables or .env file (optional if using CLI script)
    • Private keys for accounts used in Optimism stack (should be prefunded, reference)
      • ADMIN_KEY (Recommended funding amounts: 2 ETH)
      • PROPOSER_KEY (Recommended funding amounts: 5 ETH)
      • BATCHER_KEY (Recommended funding amounts: 10 ETH)
      • SEQUENCER_KEY
    • L1_RPC
    • L2_CHAIN_ID
    • ERC4337_BUNDLER_KEY (optional, used for Stackup Bundler)

Using CLI script

deno task start

If environment variables are set or .env file present in current directory, the script will use given variables and only prompt unset variables.

You can find output files at out directory, .env and docker-compose.yml.

Using docker compose directly

If every required environment variables are set or present in .env file, you can just run docker compose up -d with templates/docker-compose.yml directly without running the CLI.

However, the base compose template doesn't include Stackup Bundler and BlockScout explorer, so you might need to copy templates/docker-compose-bundler.yml and templates/docker-compose-blockscout.yml templates respectively into the base compose template or setup manually.

mothership-l2launcher's People

Contributors

eseiker avatar tkiapril avatar ost006 avatar sky1045 avatar

Stargazers

 avatar Jiho Lee avatar

Watchers

Swen Mun avatar jckim.xyz avatar Junyong avatar Hyekyung avatar Junyoung Kim avatar Jiwon avatar  avatar

mothership-l2launcher's Issues

Deploy Blockscout Frontend

We currently use webapp on blockscout backend, whilst blockscout has a more polished frontend version.

Backend:
image

Frontend:
image

Provide custom object to merge with `alloc` field

genesis.json generated with op-node can be modified further to put predeployed contracts in the genesis block. This can be beneficial in cases where the to-be deployed contracts have stable bytecode (especially in case for deterministic deployment proxy and EIP-4337 EntryPoint contracts.)

L1용 geth dev 모드 임베딩

2023-11-01

  • geth dev mode 실험
    • clique consensus로 돌아감
    • single-node
    • geth에서 clique consensus에 반드시 unlock된 account를 요구하는데, unlock된 상태로 누구나 RPC로 tx를 보낼 수 있어서 문제
    • 권한이 없는 geth를 하나 더 띄워서 얘를 외부에 expose해야 하나 싶은데, 이러면 리소스 (저장 공간, 메모리 등)을 두 배 써야 함
  • Nethermind spaceneth
    • Nethermind에 spaceneth라고 해서 간단한 consensus 모드가 있음
    • 돌려보고 있는데 왠지 mainnet genesis를 찾으려고 해서 방법을 찾는 중
  • Besu QBFT/IBFT 2.0
    • 싱글 노드로도 돌아가는지 확인해야 함
  • Special note: kurtosis

Align CLI confirm prompt display

Default cliffy behavior for Confirm prompt shows options as (y/n) but input suggestions are Yes/No.
Also better to show default options explicitly instead of casing.

Add BlockScout support

provide docker-compose blockscout template like existing stackup bundler template and add CLI option to utilize it

Improve account generation/funding flow

Provide an alternative account setup flow instead of manual funding to Admin/Proposer/Batcher accounts by user hand, inspect balance and fund automatically from single given account.

Also provide an option to generate a random ERC4337 bundler key.

Provide standalone executables

Add GitHub Action to build binary using deno compile.
Also pack templates directory into the executables

Planned target envs:

  • Window x86_64
  • Linux x86_64
  • macOS x86_64
  • macOS aarch64 (AppleSilicon)

Genesis deployment failure due to foundry update

We are currently using the nightly tag of foundry release to create genesis-deployer images, and due to a recent update in foundry, it seems like deployment json format has subtly changed and op-node (as of version v1.1.4) is not happy with it. The last working revision is nightly-60ec00296f00754bc21ed68fd05ab6b54b50e024, and since nightly-106889cd5fd98b2672900ff312dc6fdad14053d5 it no longer works. Maybe updating optimism might work as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.