/py-evm

A Python implementation of the Ethereum Virtual Machine

Primary LanguagePythonMIT LicenseMIT

Python Implementation of the Ethereum protocol

Join the conversation on Discord Build Status PyPI version Python versions Docs build

Py-EVM

Py-EVM is an implementation of the Ethereum protocol in Python. It contains the low level primitives for the existing Ethereum 1.0 chain as well as emerging support for the upcoming Ethereum 2.0 / Serenity spec.

Goals

Py-EVM aims to eventually become the defacto Python implementation of the Ethereum protocol, enabling a wide array of use cases for both public and private chains.

In particular Py-EVM aims to:

  • be a reference implementation of the Ethereum 1.0 and 2.0 implementation in one of the most widely used and understood languages, Python.

  • be easy to understand and modifiable

  • have clear and simple APIs

  • come with solid, friendly documentation

  • deliver the low level primitives to build various clients on top (including full and light clients)

  • be highly flexible to support both research as well as alternate use cases like private chains.

Quickstart

Get started in 5 minutes

Documentation

Check out the documentation on our official website

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues that are labeled Good First Issue.