Everyone is invited to contribute to the EthereumJS libraries (see also our Code of Conduct). These are some guidelines to help you get started!

Where to Contribute

Picking up some Issues

There are labelled issues on all our libraries, see e.g. the issue pages of the VM or the Merkle Tree libraries, sorting issues on things like effort needed, priority or type.

Feel free to pick any issue you think is suitable for you to work on, then you might also want to drop a note on the issue page that you are working on the issue.

Some issues are also labelled with help wanted and/or good first issue, indicating that they are in particular suitable to get started.

Some generic Tasks

There are also various generic tasks which constantly needs help, you can also have a look at the Ongoing Work Tasks section to get an overview here.

Many of these things are not listed as issues, but are nevertheless a good place to start especially for new contributors. This includes:

All these things are a good way to gently get in touch with the inner workings of a library without directly have to manipulate production code directly.

How to Start

Introductory Information

Once you have chosen what you want to work on you can actually grab your coffee, take your laptop to a quiet place to work and start hacking! 😄

Have a look at the Git Guidelines and the Workflow Best Practices sections for some Git and overall work instructions being common practice within the EthereumJS ecosystem.

The Technical Reference chapter generally contains some overview information on the development environment, programming language and tools used throughout the libraries. Have a broader look on what is relevant for you to successfully work on your selected task.

Get in Touch

Generally: just get in touch. Early on - see Team and Contact section. Feel free to ask everything you need to know, there is no question which shouldn’t been asked and there will likely be someone who can give you some guidance along the way.