Skip to content

Instantly share code, notes, and snippets.

@pirapira
Forked from Souptacular/MetropolisTestingGuide.md
Last active June 21, 2017 09:59
Show Gist options
  • Save pirapira/d319b91e32f29a86d464c6d4e533723f to your computer and use it in GitHub Desktop.
Save pirapira/d319b91e32f29a86d464c6d4e533723f to your computer and use it in GitHub Desktop.

Welcome

This guide is intended to provide resources for those wanting to help test Metropolis EIPs. The CPP team is currently in the middle of a migration from EthDocs to a documentation site that is more dedicated to CPP-Ethereum so the documentation on creating tests for Ethereum using testeth is scattered. Everything you will need to get started should be compiled below.

Suggested skill sets needed to create and run tests

  1. Ability to compile/build testeth and LLL compiler or run a docker file.
  2. Ability to understand the LLL Ethereum language.
  3. Ability to understand EIPs, particuarly those that are going to be going into the Metropolis hard fork.

Now What Do I Do?

  1. Create a GitHub account if you do not already have one.
  2. Read the resources below to learn about LLL, EVM, testeth, and EIPs.
  3. Join the Gitter chat room for Ethereum testers at https://gitter.im/ethereum/tests. Introduce yourself and ask questions if you get confused or need guidance on what to do.
  4. Create and/or run consensus tests by following the guide here: Yoichi's Guide to Generate Consensus Tests using testeth. If you create new tests open a pull request in the appropriate repository.
  5. Document your learnings and correct/add to current documentation.

Resources to Help You Get Started

LLL and EVM Stack Resources

LLL is a high-level language in Ethereum used to write smart contracts. LLL is considered a more difficult to learn and write than Solidity because it deals directly with a lot of the low level OPCODEs and features of the Ethereum Virtual Machine (EVM). If you have familiarity with stack machines or have ever taken a course on assembly languages you will be able to pick this up.

testeth/cpp-ethereum Resources

Metropolis EIP Resources

Help/Chat

We are also looking for contributors to ethereumjs-vm (more info soon)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment