Skip to content

Latest commit

 

History

History
75 lines (55 loc) · 1.66 KB

README.md

File metadata and controls

75 lines (55 loc) · 1.66 KB

Monomer

Monomer uses the OP stack to make Cosmos applications deployable as Ethereum rollups.

⚠ Monomer is pre-production software and should be used with caution. ⚠

At a Glance

Architecture

From the OP stack's perspective, Monomer replaces the default Ethereum compatible execution engine. From the Cosmos application's perspective, Monomer replaces the CometBFT consensus layer.

Development

We use Go 1.22. To run the e2e tests, you'll need the submodules and a configured L1 backend. We use buf to manage protobufs.

Prerequisites

  1. Install go 1.22 or higher.

  2. Initialize submodules:

    git submodule update --init --recursive
  3. Install jq

  4. Install foundry

  5. Install buf:

    make install-buf
  6. Install golangci-lint:

    make install-golangci-lint
    
  7. Install go-test-coverage:

    make install-go-test-coverage
    

Running tests

  1. Set up the environment for end-to-end (e2e) tests:
    make setup-e2e
  2. Run the e2e tests:
    make e2e
  3. Run the unit tests:
    make test

Code Quality, Linting and Coverage

  1. Run linting:
    make lint
  2. Check test coverage
    make check-cover

Cleaning Up

  1. Clean up generated files and artifacts:
    make clean