Comments (5)
Are you using the 0.x
or 1.0-alpha
version? In any case, yes the CREATE/CALL opcodes will trap on evm_core::Interpreter
(for 0.x
) or evm_interpreter::interpreter::EtableInterpreter
(for 1.0-alpha
). You are not supposed to use that directly unless you do something really customized.
CREATE/CALL requires a call stack, and that's implemented in evm
. If you use 0.x
, you can find StackExecutor
which will be what you need. If you use 1.0-alpha
, it allows much more customizibility, and the entrypoint is simply evm::transact
. We'll add more docs soon!
from evm.
@sorpaas thanks for your response!
I will investigate the direct usage soon. Is it still possible to override the context values (e.g. chain_id
) to make our test datasets work?
Our testing infrastructure is quite minimal. We just submit code, context, and calldata, and check if the return data and events returned match the expected data.
from evm.
@sorpaas are there any default implementations for Invoker
for evm:transact
?
from evm.
The standard invoker! https://docs.rs/evm/1.0.0-alpha.2/evm/standard/struct.Invoker.html
from evm.
The standard invoker! https://docs.rs/evm/1.0.0-alpha.2/evm/standard/struct.Invoker.html
Oh great, I'd overlooked it, thanks!
from evm.
Related Issues (20)
- PUSH opcode does not have the same behavior as ethereum
- Reduce usage of `Vec<u8>`
- Tracking issue: chunk gas metering
- Tracking issue: ROM and sha3 to `evm-core`
- Tracking issue: Apache-2 testing code
- Tracking issue: flatten the eval stack
- Tracking issue: async runtime
- Tracking issue: debug interface
- Wrong Execution Result using frontier hardfork HOT 6
- BALANCE opcode must return a different value for the origin account HOT 1
- `no-std` fails when trying to build
- Clippy pass fails HOT 1
- Enable/disable STATICCALL Opcode HOT 1
- Remove touched empty accounts when empty_considered_exists is disabled.
- Feature Request: Separate 'In Memory' Module for External Import HOT 1
- Issues injecting CALLDATA and getting a return value out of it. HOT 2
- Is there a working example of evm::transact?
- How to make EVM run initial bytecode to return initial storage slots.
- Question about `ApplyBackend` for v1.0.0 HOT 1
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 evm.