ETHERLive delivers real-time price and volume data across 16+ exchanges to users in a clear and easy-to-understand package. Users can get up-to-the-second updates for each exchange/currency pair, as well as aggregated market averages for each exchange, currency, and the market as a whole. It also provides a global converted average of all the currency pairs monitored by ETHNews, converted to USD.


24hr ---

The Basics

Learn the basics of Ethereum and various cryptocurrency technologies

Learn More

What is Ethereum?

Understand the underlying principles of the Ethereum Platform

Learn More

The Blockchain

Discover the revolutionizing technology known as the blockchain

Learn More

Press Release

Submit a press release for consideration on ETHNews

Submit Press

Story / Dapp

Submit a story or DAPP to be considered for publication on ETHNews.

Submit Story


Submit "Ethereum Explainer" content for consideration to be featured on ETHNews

Submit Topic
ETHNews Logo
Ether Price Analysis
Contact Us

Piper Merriam Wants To Rebuild PyEthereum, Introduces Py-EVM




Piper Merriam discusses PyEthereum’s merits, acknowledges its flaws, and proposes solutions to move forward.

Lately, developer Piper Merriam has been thinking about PyEthereum. He doesn't like everything he sees. In a blog post, Merriam calls the complex code originally authored by Vitalik Buterin to implement the Ethereum Virtual Machine in Python "a bit of a mess."

That's not to say Merriam is hypercritical of the work Buterin has done to create PyEthereum. He said PyEthereum was written quickly and skillfully, and that it has an amazing library. He acknowledged the utility of address generation through private keys, and said the test EVM has been key to most Python developers working on the Ethereum platform to make their applications.

But there are things PyEthereum doesn't have. Things it needs. Merriam talks about the solid foundation necessary for various applications, and he breaks it down into four key areas.


According to Merriam, it’s wholly necessary for documentation to be narrative in style so that it "holds your hand and walks you through the various architecture and abstractions." He related that it should read as a simple to follow guidebook, covering every morsel of information someone needs to know when using the library.

API Definition

It should be clear, and easy to distinguish between public and private APIs.

Deprecation Strategy

A sense of security comes with knowing the API is a foundation. Changing it suddenly is akin to pulling the rug out from under someone. Those maintaining libraries need to know which API's can be changed and which need a deprecation process prior to implementing changes.

Modularity and Extensibility

Merriam doesn't believe it's necessary for opcodes to require core code changes. "We need an EVM implementation that not only allows, but encourages extensibility and modularity as first class features."

Merriam lays out some criticism of PyEthereum's current state:

Merriam said the obvious solution is to simply fix PyEthereum. But, due to the sheer multitude of changes necessary to get that done, Merriam said the timeframe would be simply unreasonable, meaning the changes would not be backwards-compatible. The counterpoint to this solution is based on the disruption that backwards-incompatible changes would cause.

In lieu of simply fixing PyEthereum, Merriam favors the option to start fresh. Merriam provides his reasoning behind building a new library.

"[The library] can take cues from the existing implementation but start with a clean slate. This library can be developed in parallel to PyEthereum without causing any disruption to existing users."

Merriam said Py-EVM is just that, a new implementation for the Ethereum Virtual Machine, also written in Python. He thanks Buterin and the PyEthereum codebase from which he was inspired to implement designs. Merriam aims to have Py-EVM integrated with a well-defined API, and expects it will become the de facto Python implementation.

The alpha release will come in the next few months, if not weeks, according to Merriam. After the basic design meets the right criteria, Py-EVM will undergo a cycle of beta releases, during which time an adapter and documentation will be available for those switching over from PyEthereum.

Once stable on mainnet and public test networks, Py-EVM will be slated for a 1.0 release. Interested users may follow ongoing developments on GitHub.

Jeremy Nation

Jeremy Nation is a writer living in Los Angeles with interests in technology, human rights, and cuisine.

ETHNews is committed to its Editorial Policy

Like what you read? Follow us on Twitter @ETHNews_ to receive the latest Piper Merriam, PyEthereum or other Ethereum ecosystem news.