|
1 |
| -# Python Implementation of the EVM |
| 1 | +# Python Implementation of the Ethereum protocol |
2 | 2 |
|
3 | 3 | [](https://gitter.im/ethereum/py-evm)
|
4 | 4 | [](http://py-evm.readthedocs.io/en/latest/?badge=latest)
|
5 | 5 |
|
6 | 6 |
|
7 |
| -## Introducing Py-EVM |
| 7 | +## Py-EVM |
8 | 8 |
|
9 |
| -Py-EVM is a new implementation of the Ethereum Virtual Machine written in |
10 |
| -python. It is currently in active development but is quickly progressing |
11 |
| -through the test suite provided by ethereum/tests. We have Vitalik, and the |
12 |
| -existing PyEthereum code to thank for the quick progress we’ve made as many |
13 |
| -design decisions were inspired, or even directly ported from the PyEthereum |
14 |
| -codebase. |
| 9 | +Py-EVM is a new implementation of the Ethereum protocol in Python. It contains the low level |
| 10 | +primitives for the existing Ethereum 1.0 chain as well as emerging support for the upcoming |
| 11 | +Ethereum 2.0 / Serenity spec. |
15 | 12 |
|
16 | 13 | ### Goals
|
17 | 14 |
|
18 |
| -Py-EVM aims to eventually become the defacto Python implementation of the EVM, |
19 |
| -enabling a wide array of use cases for both public and private chains. Development will focus on creating an EVM with a well defined API, friendly and |
20 |
| -easy to digest documentation which can be run as a fully functional mainnet |
21 |
| -node. |
| 15 | +Py-EVM aims to eventually become the defacto Python implementation of the Ethereum protocol, |
| 16 | +enabling a wide array of use cases for both public and private chains. |
22 | 17 |
|
23 | 18 | In particular Py-EVM aims to:
|
24 | 19 |
|
25 |
| -- be an example implementation of the EVM in one of the most widely used and understood languages, Python. |
26 |
| - |
27 |
| -- deliver the low level APIs for clients to build full or light nodes on top of |
| 20 | +- be a reference implementation of the Ethereum 1.0 and 2.0 implementation in one of the most widely used and understood languages, Python. |
28 | 21 |
|
29 | 22 | - be easy to understand and modifiable
|
30 | 23 |
|
| 24 | +- have clear and simple APIs |
| 25 | + |
| 26 | +- come with solid, friendly documentation |
| 27 | + |
| 28 | +- deliver the low level primitives to build various clients on top (including *full* and *light* clients) |
| 29 | + |
31 | 30 | - be highly flexible to support both research as well as alternate use cases like private chains.
|
32 | 31 |
|
33 |
| -### Trinity |
| 32 | +## Trinity |
34 | 33 |
|
35 |
| -While Py-EVM provides the low level APIs of the EVM, it does not aim to implement a full or light node directly. |
| 34 | +While Py-EVM provides the low level APIs of the Ethereum protocol, it does not aim to implement a |
| 35 | +full or light node directly. |
36 | 36 |
|
37 |
| -We provide a base implementation of a full node called Trinity that is based on Py-EVM. |
| 37 | +### Goals |
38 | 38 |
|
39 |
| -In the future there may be alternative clients based on the Py-EVM. |
| 39 | +- provide a reference implementation for an Ethereum 1.0 node (alpha) |
40 | 40 |
|
41 |
| -### Step 1: Alpha Release |
| 41 | +- support "full" and "light" modes |
42 | 42 |
|
43 |
| -The plan is to begin with an MVP, alpha-level release that is suitable for |
44 |
| -testing purposes. We’ll be looking for early adopters to provide feedback on |
45 |
| -our architecture and API choices as well as general feedback and bug finding. |
| 43 | +- fully support mainnet as well as several testnets |
46 | 44 |
|
47 |
| -#### Blog posts: |
| 45 | +- provide a reference implementation of an Ethereum 2.0 / Serenity beacon node (pre-alpha) |
48 | 46 |
|
49 |
| -- https://medium.com/@pipermerriam/py-evm-part-1-origins-25d9ad390b |
| 47 | +- provide a reference implementation of an Ethereum 2.0 / Sereneity validator node (pre-alpha) |
50 | 48 |
|
51 | 49 |
|
52 | 50 | ## Quickstart
|
|
0 commit comments