Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/smlxl/evm.codes

Source for evm.codes an Ethereum Virtual Machine Opcodes Interactive Reference
https://github.com/smlxl/evm.codes

blockchain ethereum evm evm-chains

Last synced: 3 months ago
JSON representation

Source for evm.codes an Ethereum Virtual Machine Opcodes Interactive Reference

Awesome Lists containing this project

README

        


EVM.Codes


An interactive reference to Ethereum Virtual Machine Opcodes
screenshot

This is the source code that runs [evm.codes](https://evm.codes) web application. Below you will find the docs on how to contribute to the project and get it up and running locally for further development.

evm.codes is brought to you by [smlXL](https://www.smlxl.io), powered by open-source projects such as [EthereumJS](https://github.com/ethereumjs/ethereumjs-monorepo), [SolcJS](https://github.com/ethereum/solc-js) and [many others](package.json).

## ⚙️ Installation

The app requires the following dependencies:

- [NodeJS](https://nodejs.org/) >= 20
- [pnpm](https://pnpm.io/)

## 👩‍💻 Local Development

For contributing to the project, you can quickly get the application running by following these steps:

Clone this repository:

git clone [email protected]:smlxl/evm.codes.git

Install the dependencies:

pnpm install

Specify the environment variables if you want to run the contract viewer into `.env.local`

APIKEY_ETHERSCAN=

Start up the app and see it running at

pnpm dev

## 🚀 Deploying

Deployments are handled automatically by [Vercel](https://vercel.com/), as soon as your PR is merged to `main`.

## 🤗 Contributing

evm.codes is built and maintained by a small team, so we would definitely love your help to fix bugs, add new features and improvements, or update EVM [reference docs](docs/opcodes).

Before you submit a pull request, please make sure there isn't an existing [GitHub issue](https://github.com/smlxl/evm.codes/issues). If there isn't, create one first to discuss the best way to approach it and also get some feedback from the team.

Once you are about to submit a pull request, prefix the name with either `chore:` (small improvements and regular maintenance), `fix:` (bugs and hot fixes), or `feat:` (new features) to help us quickly look up the type of the issue from the Git history.

### Coding conventions

The project is already pre-configured with [Eslint](.eslintrc.js), [TypeScript](tsconfig.json), and [Prettier](.prettierrc). Here are some useful commands you can run to ensure your changes follow the project's coding conventions:

Check for any linting issues and fix:

pnpm lint --fix

Check for any TypeScript issues:

pnpm typecheck

Sort the `package.json`:

pnpm lint:package

## Architecture

If you would like to contribute, make sure to check the [architecture document](docs/ARCHITECTURE.md) to learn about the code structure, and how the app is built.

## License

[MIT](LICENSE)