-
Notifications
You must be signed in to change notification settings - Fork 529
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
WasmEdge for Substrate milestones #1 and #2 #547
Conversation
Signed-off-by: Michael Yuan <michael@michaelyuan.com>
Signed-off-by: Michael Yuan <michael@michaelyuan.com>
HI @juntao. Thank you for filling out the delivery files. I will be taking over your delivery. Regarding the upstream PR, please submit an amendment to your application to move the deliverable to milestone 3 and any other changes, and feel free to adjust the cost to reflect the changes. And regarding the article, could you write a short piece talking about e.g. your experience working on this, current limitations and/or benefits? You can send a draft to grantsPR@web3.foundation for proofreading before you publish it and cross-promotion. |
I proposed an amendment and emailed an article draft to the grantsPR email address for approval. Thank you. |
Many thanks. Is there any way to check the diff for the changes you made to Substrate, as well as for WasmEdge and the node template? Currently, this is very hard to see since it looks like you added the Substrate folder to the repository with your work already merged. Why did you choose to use a monorepo instead of working on forks to more easily be able to merge upstream? |
Hi @alxs The WasmEdge and node template subtrees are both in sync with the official repos. The substrate subtree contains an additional The reason for the monorepo is that we need to make changes to both the WasmEdge and substrate projects at the same time. It is easier to have everything together when we are experimenting on both sides. Most of the changes we made to WasmEdge have already been merged upstream. |
I see, thanks. Please note that this also means you can't license your entire repository as Apache 2.0, since parts of Substrate are GPLv3. I think the proper way of doing this would be to include both licenses in the project root as Substrate does. Also, while being able to run the node template is already great, I wanted to see if the tests would pass too with
Could you please look into this? |
@alxs Please try again. It should work now. My apologies for the confusion. We have just released WasmEdge 0.11 and its corresponding Rust binding SDK. The new release contains some changes we needed for Substrate support. We have updated the substrate-wasmedge repo to incorporate those updates. |
I also fixed the license issue. Thanks. |
@juntao that's great, thank you. Could you let me know what command you used to run the tests with WasmEdge? I'm not sure I was doing it correctly, as the command I shared earlier doesn't seem to actually run them. Feel free to add the instructions to the repo. |
Hi @alxs I use the following command to run the tests. Let me know if it works for you. Thanks.
|
Thanks a lot. Many of these actually failed for me. I reinstalled WasmEdge and ran the tests as you described. Here's the output - please let me know if you need anything else. |
Hi @alxs ! Try the following command. Thanks! export MAX_HOST_FUNC_LENGTH=1800
cd substrate/client/executor
cargo t --features=wasmedge I have updated the code. Running tests based on the latest code does not require setting |
No worries and thanks a lot. The tests seem to pass, but I see several "instruction unreachable" errors in the output. Can you reproduce this?
|
These error messages are logs printed by the |
Congratulations on completing the first milestone of this grant! As part of the Grants Program, we want to help grant recipients acknowledge their grants publicly. To that end, we’ve created a badge for projects that successfully deliver their first milestone. Note that it must only be used within the context of the delivered work, so please do not display it on your team or project's homepage unless accompanied by a short description of the grant. |
Milestone Delivery Checklist
Link to the application pull request: w3f/Grants-Program#862