A Python implementation of the Ethereum Virtual Machine
Clone or download
Pull request Compare This branch is 40 commits ahead, 277 commits behind ethereum:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
ETHSingapore
docs
eth
fixtures @ 95a3092
img
p2p
scripts
stubs
tests
trinity-external-plugins
trinity
.bumpversion.cfg
.gitignore
.gitmodules
.readthedocs.yml
DEVELOPMENT.md
Dockerfile
LICENSE
MANIFEST.in
Makefile
README.md
pytest.ini
setup.py
setup_trinity.py
tox.ini

README.md

Python Implementation of the Ethereum protocol

Join the chat at https://gitter.im/ethereum/py-evm Documentation Status

Image Image

Py-EVM

Py-EVM is a new 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.

Trinity

While Py-EVM provides the low level APIs of the Ethereum protocol, it does not aim to implement a full or light node directly.

Goals

  • provide a reference implementation for an Ethereum 1.0 node (alpha)

  • support "full" and "light" modes

  • fully support mainnet as well as several testnets

  • provide a reference implementation of an Ethereum 2.0 / Serenity beacon node (pre-alpha)

  • provide a reference implementation of an Ethereum 2.0 / Sereneity validator node (pre-alpha)

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.