casper-network / casper-network/casper-node
Execution Engine 2.0
- Dominant language
- Rust
- Stars
- 399
- Forks
- 224
- Avg merge
- 15h 44m
- Merged PRs (30d)
- 2
Description
- [Spike]: Explore Wasmer (https://github.com/wasmerio/wasmer) [Michal Papierski](mailto:michal@casperlabs.io)
- Check out wasmer branch, and extend the code with wasmer engine as extra variant
- Identify strict wasmer trait requirements known to be blockers and refactor as necessary just to be able to compile without reorganizing everything
- Hook up host functions to pass meaningful amount of integration tests to measure performance and draw conclusions
- If successful, identify remaining gaps in VM execution semantics and address them (i.e. fix remaining integration tests)
- [Spike] Investigate forking wasmi and improving it
_- [Story/done]: Replace tracking copy entirely w/ in mem scratch based solution. (that means Execution Effects and byte size will go away)_
- [Story]: Fix EE top level errors coming out of the EE to the node- EE/state/mod.rs errors - not customer facing.
- [Story]: Replace Account hashes with Public keys (everywhere). Account hash could become obsolete with the account/contract unification.
- [Story]: Get rid of correlation id
- [Story]: deploy info- do we need it or not -> Remove it from the Global state.
- [Story]: Simplify or remove FFI Resolver in EE (blocked by the Wasmer investigation).
- [Story]: Remove protocol version from EE methods.
- [Story]: Use content-addressed keys for immutable records.
- ie ‘contract wasm’- hash matches what I expect.
- [Story]: Alter the FFI methods and remove unnecessary bytes conversion and serialization
- [Story]: Clean up the ffi, and the contract API
- [Story]: Introduce the contract ffi API version.
_- [Spike/triage]: Explore the allocation of data across the wasm boundaries_
- [Story]: Don’t preprocess contracts before storing them and preprocess before executing.
- Spreadsheet with preprocessing times measured across integration tests shows that processed wasm code we store is almost 2x as big as original code and takes 5.7ms on avg (with 200ms outlier worth investigating further)
- Data https://docs.google.com/spreadsheets/d/1qWPrWG1VzU-e3qTaAktDYo489e3g3MZUOWhwSP-Z9s8/edit?usp=sharing
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.