An interactive reference to Ethereum Virtual Machine Opcodes
This is the source code that runs 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, powered by open-source projects such as EthereumJS, SolcJS and many others.
The app requires the following dependencies:
For contributing to the project, you can quickly get the application running by following these steps:
Clone this repository:
git clone git@github.com:smlxl/evm.codes.git
Install the dependencies:
yarn install
Start up the app and see it running at http://localhost:3000
yarn dev
Deployments are handled automatically by Vercel, as soon as your PR is merged to main
.
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.
Before you submit a pull request, please make sure there isn't an existing GitHub issue. 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.
The project is already pre-configured with Eslint, TypeScript, and Prettier. 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:
yarn lint --fix
Check for any TypeScript issues:
yarn typecheck
Sort the package.json
:
yarn lint:package
If you would like to contribute, make sure to check the architecture document to learn about the code structure, and how the app is built.