Comments (6)
perfect, but before we do this. I feel very uncomfortable using an "error" to direct code execution flow, let's first isolate / come up with a name that'll describe this valid approach. It's basically an optimistic execution but will fail if there's an extern call. So in this way it's functionally deterministic. In another way it could be seen as a type of machine learning. In that one could have some kind of inline cache which remembers the needed state for X contract. (I'm not proposing that this is implemented).
from sputnikvm.
Need More Information
-> NMI
. I'd prefer we use this convention over an error. We delegate the concept of an error to be an actual execution problem of the VM. Does this sound reasonable?
from sputnikvm.
Please continue discussion about NMI
here: #96
from sputnikvm.
I updated the description accordingly. We can use this now to design the protocol first.
from sputnikvm.
Being done as https://etcrfc.that.world/16-EVMJSON
from sputnikvm.
Correct reference is https://github.com/ethereumproject/rfc/tree/master/16 as etcrfc.that.world will be deprecated
from sputnikvm.
Related Issues (20)
- no_std build fails on current Nightly Rust HOT 1
- Refine benchmarks so the measurement would kick in as close to contract execution as possible
- Run code through clippy and apply fixes
- Prepare for Byzantium hardfork HOT 2
- SHL, SHR and SAR opcodes and correcponding Patch interface changes
- Customization of Pre-compiled Contract HOT 3
- Move Byzantium precompiled contracts implementation to the core codebase HOT 1
- Implement CREATE2 opcode
- Implement EXTCODEHASH opcode
- Change gas metering for SSTORE
- Predicting the address of a contract HOT 3
- Improve SputnikVM panic-safety HOT 1
- sputnikvm-network-* are outdated HOT 1
- Loading of configuration values from a file while starting any network or sputnikvm HOT 6
- What is the purpose of last else block in the screen below. HOT 1
- CREAT2 as a transaction type(action)?
- Persistance of the SputnikVM execution HOT 1
- 999
- vm.fire() hangs
- Crates.io version of code will panic on newer rustc due to stricter uninit checks
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sputnikvm.