EthereumJS Team is Seeking Contributors

in #ethereum9 years ago

EthereumJS Team is Seeking Contributors

A March update outlined some areas of Javascript-oriented R&D, a major one being ewasm, i.e. Ethereum WebAassembly. The excitement around ewasm has outgrown the (already small) EthereumJS team.

ethereum-overtakes-litecoin-in-market-cap-after-continued-upward-trend.jpg

As a result, R&D efforts have been split between progress on ewasm (aka "EVM 2.0") on the one hand, and maintenance updates to ethereumjs-vm (EVM 1.0) on the other.

The EthereumJS team is seeking contributors to help cover this gap.

Ethereumjs-vm is widely used in the Dapp development ecosystem. Some popular tools, such as Remix and TestRPC, depend on ethereumjs-vm. In order for these tools to maintain compatibility with the Ethereum chain, it is important that ethereumjs-vm be kept up-to-date.

Ethereumjs-vm and Metropolis testing
While development of Metropolis progresses on the main Ethereum clients (geth, Parity, cpp-ethereum, pyethereum), the Javascript client -- or ethereumjs-vm (the module which implements the EVM) -- has lagged behind.

Much of the work on Metropolis is developing cross-client tests, which involves creating new test cases to check for EVM consensus among all client implementations (see the recent help wanted announcement). These test cases are also used to check consensus under previous network rules, from Frontier and Homestead to EIP158.

To start getting ethereumjs-vm ready for Metropolis, the first step was to update the test runner. With the consensus tests running again, and some homestead bug fixes, ethereumjs-vm reached a milestone: all Homestead tests are passing. The next steps are to finish EIP-150 and do the Spurious Dragon hard fork changes. Then work will begin on Metropolis.

How to contribute
Video walkthrough: Intro to Core Development with Ethereumjs-vm
The EthereumJS team needs your help! Contributing to ethereumjs-vm is a great way to become familiar with core Ethereum development and the EVM.

The learning curve for this project is relatively gentle. The goal is for ethereumjs-vm to achieve Metropolis compatibility. This can be accomplished, basically, by referencing pyethereum and porting the changes to javascript.

To get started, take a look at the pull requests and join the chat.

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.104
BTC 64428.11
ETH 1880.16
USDT 1.00
SBD 0.37