ethereumproject / evm-rs

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

Version 0.11.0 #43

Closed mersinvald closed 5 years ago

mersinvald commented 5 years ago

Version 0.11.0

What's new?

Network support

SputnikVM v0.11 passes every test in the ETH test suit making it sufficient enough to 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