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

wasmi: Substrate Integration #9

Closed
6 of 7 tasks
Robbepop opened this issue Aug 29, 2022 · 2 comments
Closed
6 of 7 tasks

wasmi: Substrate Integration #9

Robbepop opened this issue Aug 29, 2022 · 2 comments
Assignees

Comments

@Robbepop
Copy link

Robbepop commented Aug 29, 2022

There has been a lot of work ongoing for the wasmi WebAssembly interpreter since quite a while. Multiple new releases have been publishes that significantly improve the API as well as the compilation and execution performance. Some Wasm proposals such as multi-value have been implemented, the codebase has been modernized and a few bugs have been fixed.

However, due to the changes in the wasmi API that made some of the improvements possible porting the new wasmi versions to Substrate unfortunately requires some work on the Substrate side, too.

The Vision

We want to integrate all of these improvements into Substrate and are primarily working towards this goal.
This will significantly improve the smart contract story on Substrate, ink! and any other related project.

Parity has long been working on improving the performance of the sandboxed Wasm smart contracts execution engine.
In the past some experiments have already been performed using the Wasmer JIT engine, however, the conclusion was that it does not actually fit our use case where smart contracts are usually pretty small Wasm blobs with only a limited amount of computation done per invocation. We might explore this space more and see whether these initial conclusions are correct but until then our mission is to optimize wasmi for our smart contract uses cases as much as we possibly can.

The implementation of new WebAssembly proposals allow us to be more flexible with the generation of the smart contract Wasm blobs and might even reduce file sizes slightly.

The Plan

Open Questions

None so far.

@athei
Copy link
Member

athei commented Mar 19, 2023

I ticked the last point because we are not integrating into sp-sandbox. We removed sp-sandbox and go with an in-runtime wasmi. The new wasmi is already in use.

I think we can close here? @Robbepop

@Robbepop
Copy link
Author

@athei Yes I think we can close this issue.

@athei athei closed this as completed Mar 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Status: Done
Development

No branches or pull requests

2 participants