F
Flow4mo ago
Giovanni S

Giovanni S | Flow (2024-02-04)

Any timelines on the getting the WASM execution engine into Cadence? Ref - https://forum.flow.com/t/idea-wasm-execution-engine-in-cadence/5164/16
Flow Community
Idea: WASM Execution Engine in Cadence
Love the Idea! This means that more complex computational logic can be implemented through Wasm, but data storage still exists in the form of Resources in Cadence. The first question that comes to mind is the accessibility of Resource data in Wasm, as this involves capabilities and access control in Cadence. If the use of wasm is limited to o...
10 Replies
Needle
Needle4mo ago
I've created a thread for your message. Please continue any relevant discussion in this thread. You can rename this thread using /title <new title> If this is a technical question that others may benefit from, considering also asking it on Stackoverflow: https://stackoverflow.com/questions/ask?tags=onflow-cadence
Giovanni S
Giovanni S4mo ago
Context is I’m ideating through building content-based addressing and came across an IPLD rust module. Wondering if it would be feasible to create a mechanism to derive a content-based address using this or a similar library compiled to WASM in the planned execution engine Cc @Jeff | Flow
turbolent
turbolent4mo ago
There’s currently no concrete plan to add this. We might be able to prioritize it once Cadence 1.0 is out
turbolent
turbolent4mo ago
I worked on a PoC a couple months ago: https://github.com/onflow/cadence/pull/2760. The remaining work is being tracked in https://github.com/onflow/cadence/issues/2853
GitHub
Build software better, together
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
From An unknown user
From An unknown user
From An unknown user
GitHub
Add a WebAssembly API · Issue #2853 · onflow/cadence
Issue to be solved As discussed in https://forum.onflow.org/t/idea-wasm-execution-engine-in-cadence/5164, add an API to Cadence that allows running WebAssembly programs. Suggested Solution An MVP s...
turbolent
turbolent4mo ago
We’ll need to finalize the API proposal and figure out things like metering, then open a FLIP, similar to the ongoing EVM work Maybe this could also be worked on earlier through a grant @Giovanni S | Flow do you have a link to the library? If it’s not too much trouble code and it’s not computation heavy, maybe the code can also be ported to Cadence
Unknown User
Unknown User4mo ago
Message Not Public
Sign In & Join Server To View
Giovanni S
Giovanni S4mo ago
These are two I found from ipld.io Go library - https://github.com/ipld/go-ipld-prime Rust library - https://github.com/ipld/libipld
GitHub
GitHub - ipld/go-ipld-prime: Golang interfaces for the IPLD Data Mo...
Golang interfaces for the IPLD Data Model, with core Codecs included, IPLD Schemas support, and some handy functional transforms tools. - GitHub - ipld/go-ipld-prime: Golang interfaces for the IPLD...
GitHub
GitHub - ipld/libipld: Rust IPLD library
Rust IPLD library. Contribute to ipld/libipld development by creating an account on GitHub.
Giovanni S
Giovanni S4mo ago
Nothing planned atm, just looking for rabbit holes. It’d be interesting to have a tool for deriving content-based addresses deterministically. Motivating use case was support for IPFS uri derivation and publish to commitment relayer - so derive the uri, commit to erc721 on bridging, then publish an event with the data that needs to be published with certainty that the uri will be what was committed. I’m wondering if there would be a way to stand up a gateway that resolves URI requests in a similar interface to an IPFS gateway
Unknown User
Unknown User4mo ago
Message Not Public
Sign In & Join Server To View
Giovanni S
Giovanni S4mo ago
Oh interesting, thanks for pointing out a reference!