ethereumproject / evm-rs

Ethereum Virtual Machine implementation in Rust. Fork of the SputnikVM.
Apache License 2.0
14 stars 5 forks source link

WIP: Release 0.11.0 #41

Closed mersinvald closed 5 years ago

mersinvald commented 5 years ago

Version 0.11

What's new?

Network support

As of Version 0.11 SputnikVM passes every test in the ETH test suit up to Constantinople hard-fork, which essentially means that it can be used with the ETH network.

Related Pull Requests:
Changes:

API

SputnikVM API is now more agile then ever: the new DynamicPatch API enables the patch-based configuration to be performed at runtime, as opposed to static patches that were based on using the static generic types. This change is particularly useful for multi-chain clients like multi-geth that cooperates with SputnikVM over an FFI boundary. Now it may configure SputnikVM feature-wise in runtime, and not rely on a pre-defined set of network and fork specific constructors. All that with keeping overhead as low as possible and completely zero-copy!

Therefore, we recommend switching to evm-network crate as a foundation for Patch-building, evm-network-* crates are considered deprecated and may not be supported in the future releases.

Related Pull Requests:
Changes:

Testing

Testing framework for the JsonTests (VMTests from ETH Test Suite) have been majorly reworked, now it generates a separate native Rust test for each testcase in the Json files, for debugging and subset runs convenience.

Related Pull Requests:
Changes:

Documentation

Other changes

Related projects

Closes #32