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

Grant application: WasmEdge for Substrate #862

Merged
merged 1 commit into from
Mar 10, 2022
Merged

Conversation

juntao
Copy link
Contributor

@juntao juntao commented Mar 9, 2022

Project Abstract

Supporting WasmEdge as an alternative Substrate WebAssembly runtime. The project increases the Substrate ecosystem's node software diversity by supporting an alternative high-performance WebAssembly Runtime implementation. The project team are the maintainers of the WasmEdge WebAssembly Runtime project, and had successfully completed W3F projects in the past.

For which grant level are you applying?

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $50,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied, renamed ( project_name.md) and updated.
  • A BTC or Ethereum (DAI/USDT) address for the payment of the milestones is provided inside the application.
  • I have read and acknowledged the terms and conditions.
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted.

@CLAassistant
Copy link

CLAassistant commented Mar 9, 2022

CLA assistant check
All committers have signed the CLA.

@juntao juntao changed the title Grant application: Grant application: WasmEdge for Substrate Mar 9, 2022
@Noc2 Noc2 self-assigned this Mar 9, 2022
Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the application. This looks really interesting and definitely seems to be a project, which we want to support. Could you add the “default” deliverables 0a-0d of the template to each milestone? https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md And in general, feel free to add additional details to the deliverables (= requirements of the contract).

@Noc2 Noc2 added the changes requested The team needs to clarify a few things first. label Mar 9, 2022
Signed-off-by: Michael Yuan <[email protected]>

Update wasmedge_substrate.md

Signed-off-by: Michael Yuan <[email protected]>

Update wasmedge_substrate.md

Signed-off-by: Michael Yuan <[email protected]>
@juntao
Copy link
Contributor Author

juntao commented Mar 9, 2022

Thanks a lot for the application. This looks really interesting and definitely seems to be a project, which we want to support. Could you add the “default” deliverables 0a-0d of the template to each milestone? https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md And in general, feel free to add additional details to the deliverables (= requirements of the contract).

Thanks! Fixed and added a little more details. I also squashed the new commit.

Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update. I’m happy to support the project and I will share it with the rest of the team.

@Noc2 Noc2 added ready for review The project is ready to be reviewed by the committee members. and removed changes requested The team needs to clarify a few things first. labels Mar 10, 2022
@Noc2
Copy link
Collaborator

Noc2 commented Mar 10, 2022

And just to clarify: We can obviously not ensure that this gets actually merged by parity, but it won’t be necessary for the approval of the milestone itself.

@juntao
Copy link
Contributor Author

juntao commented Mar 10, 2022

And just to clarify: We can obviously not ensure that this gets actually merged by parity, but it won’t be necessary for the approval of the milestone itself.

Understood. We will make a best effort to be part of the standard substrate distro. :) Thanks.

Copy link
Contributor

@alxs alxs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting! Happy to see where this goes.

Copy link
Collaborator

@takahser takahser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@juntao thanks for submitting this grant application. It sounds very interesting to me, I'm more than happy to approve. Looking forward to your delivery! 👍

@semuelle semuelle requested a review from Noc2 March 10, 2022 16:06
@Noc2 Noc2 merged commit fe3a3bb into w3f:master Mar 10, 2022
@github-actions
Copy link
Contributor

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at [email protected] and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

xgreenx pushed a commit to Supercolony-net/Open-Grants-Program that referenced this pull request Apr 29, 2022
Signed-off-by: Michael Yuan <[email protected]>

Update wasmedge_substrate.md

Signed-off-by: Michael Yuan <[email protected]>

Update wasmedge_substrate.md

Signed-off-by: Michael Yuan <[email protected]>
xgreenx pushed a commit to Supercolony-net/Open-Grants-Program that referenced this pull request Jun 16, 2022
Signed-off-by: Michael Yuan <[email protected]>

Update wasmedge_substrate.md

Signed-off-by: Michael Yuan <[email protected]>

Update wasmedge_substrate.md

Signed-off-by: Michael Yuan <[email protected]>
@alxs alxs mentioned this pull request Sep 7, 2022
3 tasks
@alxs
Copy link
Contributor

alxs commented Dec 9, 2022

Hey @juntao, any updates on the third milestone? The performance benchmarks and analysis would probably be a big help in showcasing WasmEdge's potential for Substrate, are they still in your roadmap?

@keeganquigley
Copy link
Contributor

Hi @juntao just bumping a friendly reminder, see Alxs comment above.

@juntao
Copy link
Contributor Author

juntao commented Jan 13, 2023

Hi @alxs and @keeganquigley

Thank you for following up. Happy new year.

We have been preparing a PR to support WasmEdge as an alternative and configurable runtime for Substrate. However, it is coming along slowly since we need to bring our working branch of Substrate up to date first (we demoed on a Substrate version from a few months ago). There apparently have been a lot of changes.

The performance WasmEdge is largely on par with wasmtime in Substrate -- WasmEdge is faster in some cases, but slower in others. We can continue to tweak the performance over time. Besides that, I think there are compelling reasons to support WasmEdge in Substrate. Specifically,

  • The software supply chain security factor discussed in the original grant proposal. WasmEdge is implemented entirely differently from wasmtime.
  • WasmEdge has better developer tooling support now. It is bundled in the Docker Desktop binary installer since Dec 2022. 10 million Docker users automatically have access to WasmEdge and its application APIs -- e.g., the WasmEdge socket API could be useful for Substrate to bring the networking code into Wasm instead of in host functions.
  • Fedora Linux and Red Hat Enterprise Linux now have WasmEdge supported as official upstream packages. It greatly simplifies WasmEdge application deployment and management on those very popular Linux OSes and in OpenShift.

In any case, my apologies for the delay. But we are still working on the compatibility issues to bring it up to date with the latest and greatest Substrate! Stay tuned.

cheers
Michael

@Noc2
Copy link
Collaborator

Noc2 commented Jan 16, 2023

@juntao Thanks a lot for the update. If you need longer to finish this grant, please update the original application via a PR as well as the estimated duration. This way, your contract is officially updated, and you could integrate additional changes/work, etc.

@keeganquigley
Copy link
Contributor

thanks @juntao friendly reminder regarding @Noc2 comments above.

Please submit an amendment to extend the timeline, and that will help put the pressure off as well. Thanks!

@keeganquigley
Copy link
Contributor

Hi @juntao any updates you can provide? Please note that if we don't hear from you after a few weeks, the grant could be subject to termination due to inactivity.

juntao added a commit to juntao/Grants-Program that referenced this pull request Feb 20, 2023
As discussed here:

w3f#862 (comment)

the milestone w3f#3 task is much greater than we originally envisioned. We need to reconcile changes to the substrate code base since we started and then merge our changes back into the main tree in order to propose an upstream PR and run the most up-to-date performance tests. So, I extended the time needed for this task to 6 months. Thank you.
@juntao juntao mentioned this pull request Feb 20, 2023
10 tasks
Noc2 pushed a commit that referenced this pull request Feb 20, 2023
As discussed here:

#862 (comment)

the milestone #3 task is much greater than we originally envisioned. We need to reconcile changes to the substrate code base since we started and then merge our changes back into the main tree in order to propose an upstream PR and run the most up-to-date performance tests. So, I extended the time needed for this task to 6 months. Thank you.
@keeganquigley
Copy link
Contributor

Hi @juntao are you able to provide an update?

@keeganquigley
Copy link
Contributor

Hi @juntao unless you are planning to deliver soon, I think it's best to close this grant for now and it can always potentially be re-opened in the future should you wish to continue working on it. Please let me know otherwise I'll go ahead and file the PR to be reviewed by the committee.

@juntao
Copy link
Contributor Author

juntao commented Sep 21, 2023

Hi @keeganquigley

Yes, I think it is perhaps best to close it for now. The substrate main code branch has advanced over time, and it becomes harder and harder to merge over time.

We now know that it is viable to swap out wasmtime for WasmEdge in substrate. When there is concrete demand for this from the community, we can revisit this again. Thank you.

@keeganquigley
Copy link
Contributor

Thanks for the update @juntao much obliged. I will go ahead and file it now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants