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

Light Wallet: Build mithril-common and mithril-client in WASM PoC #1284

Closed
7 tasks done
Tracked by #1313
jpraynaud opened this issue Oct 5, 2023 · 1 comment
Closed
7 tasks done
Tracked by #1313
Assignees
Labels
prototype 🛠️ Prototype/PoC of a feature

Comments

@jpraynaud
Copy link
Member

jpraynaud commented Oct 5, 2023

Why

When working on the PoC #1254, we have faced some difficulties implementing the current mithril-common and mithril-client in WASM. This is mostly the case because some crates that we have used are not (currently?) compatible with WASM.

The goal of the PoC #1254 was to make sure that we did not have any blocker with working with the cryptographic libraries in WASM.
In order to do so, we have been recreating from scratch some of the libraries of mithril-common that would not compile properly.

We now need to find a way to build the mithril-client library with the linked mithril-common library in WASM

What

Find a way to build the mithril-client and mithril-common libraries in WASM.
Run the built mithril-client library in the browser and make it verify a certificate chain (PoC).

How

  • Build a mithril-client (with mithril-common) in WASM
  • Run a mithril-client in a browser (with e.g. Mithril Stake Distribution type)
  • Make sure all binary nodes are working as expected
  • Make README to use the PoC
  • Answer some questions that will have an impact on the new design of the mithril-client:
    • How can we provide feedback to the browser (events sent)? (See use of JS closures in Rust)
    • How do we compile partial API (e.g. no compilation of snapshot download in WASM)?

Linked issue

#1141

@jpraynaud jpraynaud added prototype 🛠️ Prototype/PoC of a feature to-groom 🤔 Needs grooming and removed to-groom 🤔 Needs grooming labels Oct 5, 2023
@jpraynaud jpraynaud added the to-groom 🤔 Needs grooming label Oct 20, 2023
@jpraynaud jpraynaud removed the to-groom 🤔 Needs grooming label Oct 23, 2023
@jpraynaud jpraynaud changed the title Build mithril-common and mithril-client in WASM PoC Light Wallet: Build mithril-common and mithril-client in WASM PoC Oct 24, 2023
@jpraynaud
Copy link
Member Author

The PoC is available in the branch ensemble/1284/build-mithril-common-and-client-wasm-poc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
prototype 🛠️ Prototype/PoC of a feature
Projects
None yet
Development

No branches or pull requests

4 participants