Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bootstrapping into useful testing phase #2

Closed
axic opened this issue Mar 8, 2016 · 4 comments
Closed

Bootstrapping into useful testing phase #2

axic opened this issue Mar 8, 2016 · 4 comments

Comments

@axic
Copy link
Member

axic commented Mar 8, 2016

It would be fairly simple to move this from an isolated test into a more useful testing framework by adjusting one of the VM implementations.

The adjustment would include to run the eWASM VM when a contract bytecode starts with the WASM bytecode signature (\0asm).

This can be easily achieved by using ethereumjs-vm, which then would provide a state and full blockchain.

Depending on ABI decision (#1), wrapper methods for callCode and delegateCall might be needed to transform between the new and current ABIs.

@wanderer
Copy link
Member

wanderer commented Mar 8, 2016

I think this would be good for a test network. I'm not sure if it will suffice for the whole network yet though. One concern with putting something like this on the live network would be twice the surface area for consensus breaking bugs

@axic
Copy link
Member Author

axic commented Mar 8, 2016

Also prefixing the bytecode with an EVM1 code piece (e.g. RETURN, STOP to stop execution) could make this compatible with the current network. An EVM1 contract deployment code would be needed also.

It doesn't need to go onto Frontier/Homestead, but at least would be easy to work with it on a private testnet.

Note: STOP itself has bytecode of 0x00. The WASM bytecode starts with the same and thus no prefix is needed.

@axic
Copy link
Member Author

axic commented Mar 8, 2016

As a note, WASM prototype-1 had a magic string of wasm, while prototype-2 has \0asm.

@axic
Copy link
Member Author

axic commented Aug 14, 2016

This backwards compatible part is now incorporated into #42.

There's a VM in progress with the above considered: https://github.com/ewasm/ewasm-kernel

@axic axic closed this as completed Aug 14, 2016
bnjbvr pushed a commit to bnjbvr/ethereum-wasm-design that referenced this issue Nov 13, 2017
Update high-level goals, and add post-v1 features.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants