Giter Site home page Giter Site logo

kunzhangs312 / optimism-monorepo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ethereum-optimism/optimism

0.0 2.0 0.0 11.84 MB

๐Ÿ™ Optimism Monorepo ๐Ÿ™ Optimistic Rollup & the OVM ๐Ÿ™

Home Page: https://optimism.io

License: MIT License

TypeScript 97.89% JavaScript 2.11%

optimism-monorepo's Introduction


Optimism is a Public Benefit Corporation dedicated to scaling Ethereum in a way that enshrines fair access to public goods. Optimism is focused on implementing a production-level Optimistic Rollup implementation that integrates with the Optimistic Virtual Machine (OVM) to scale arbitrary Solidity smart contracts.

To get involved, follow us on Twitter, join our Discord, and try out our OVM tutorial!

@optimism-monorepo is the Optimism monorepo. All of the core Optimism projects are hosted inside of the packages folder of this repository.

Packages

Package Version Description
@eth-optimism/core-utils npm Optimistic Virtual Machine Core Utilities
@eth-optimism/provider npm Optional RPC Client for Optimism
@eth-optimism/watcher npm Optimistic Ethereum Cross Domain Watcher

Repo Status

CI - Build, Test, Lint Codacy Badge

Contributing

Welcome! If you're looking to contribute to the future of Ethereum, you're in the right place.

Contributing Guide and Code of Conduct

Optimism follows a Contributing Guide and Code of Conduct adapted slightly from the Contributor Covenant. All contributors must read through this guide before contributing. We're here to cultivate a welcoming and inclusive contributing environment, and every new contributor needs to do their part to uphold our community standards.

Requirements and Setup

Cloning the Repo

Before you start working on an Optimism project, you'll need to clone our GitHub repository:

git clone [email protected]:ethereum-optimism/optimism-monorepo.git

Now, enter the repository.

cd optimism-monorepo

Node.js

All of the projects in optimism-monorepo are Node.js projects. You'll need to install Node.js for your system before continuing. Code works with Node.js 10 or greater.

Yarn

We're using a package manager called Yarn. You'll need to install Yarn before continuing.

Installing Dependencies

optimism-monorepo projects make use of several external packages.

Install all required packages with:

yarn install

Building

optimism-monorepo provides convenient tooling for building a package or set of packages.

Build all packages:

yarn run build

Build a specific package or set of packages:

PKGS=your,packages,here yarn run build

Linting

Clean code is the best code, so we've provided tools to automatically lint your projects.

Lint all packages:

yarn run lint

Lint a specific package or set of packages:

PKGS=your,packages,here yarn run lint

Automatically Fixing Linting Issues

We've also provided tools to make it possible to automatically fix any linting issues. It's much easier than trying to fix issues manually.

Fix all packages:

yarn run fix

Fix a specific package or set of packages:

PKGS=your,packages,here yarn run fix

Running Tests

optimism-monorepo projects usually makes use of a combination of Mocha (a testing framework) and Chai (an assertion library) for testing.

Run all tests:

yarn test

Run tests for a specific package or set of packages:

PKGS=your,packages,here yarn test

Contributors: remember to run tests and lint before submitting a pull request! Linted code with passing tests makes life easier for everyone and means your contribution can get pulled into this project faster.

optimism-monorepo's People

Contributors

willmeister avatar ben-chain avatar smartcontracts avatar karlfloersch avatar k-ho avatar tynes avatar geohot avatar masonforest avatar jinglan avatar lukehedger avatar ethorhil avatar alexanderattar avatar 0xclem avatar ldct avatar mohamedhayibor avatar pcowgill avatar phabc avatar nanspro avatar ianaz avatar siburu avatar dependabot[bot] avatar transmissions11 avatar

Watchers

James Cloos avatar  avatar

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.