ethereum / ethereum/tests

Thunder ideas for testing the EVM

Open
#487 0 comments 1 reaction 0 assignees View on GitHub
enhancement up-for-grabs
Dominant language
JavaScript
Stars
626
Forks
364
PR merge metrics
No merged PRs in 30d

Description

Rough outline of factors this contract should test for:
built in functions

* big state writes
* many state writes
* big state reads
* many state reads
* state reads from very old data
* many EVM operations (TODO outline diff types of EVM operations)
* failing

Note 1: that each of these functions should be dependent on some input data such that we can chain it with read operations to simulate waiting on disk reads.

Note 2: read operations are log(N) where N is num entries in leveldb kv store so we would expect different results based on size of leveldb.

Note 3: old data takes longer to access than newly written data from statedb, so the smart contract must be able to read state from itself that it wrote a long time ago.

I think one design is to have functions emulating each of the above functionality and have the public interface be something like:

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.