Skip to content

Conversation

@palas
Copy link
Contributor

@palas palas commented Oct 30, 2025

Changelog

- description: |
    Create JS independent WASM library (`cardano-wasi`)
  type:
  - feature
  projects:
  - cardano-wasm

Context

This PR exports the same functions as cardano-wasm (with the exception of GRPC ones, and with the addition of some memory management primitives) as ccalls so that they can be used from other languages (not just JS).

How to trust this PR

I've tested it using wasmer in Rust, but please review the code to ensure I didn't make any mistakes. Ping me if you would like the Rust code to test it too, I'll add it as a test to the CI in a future PR.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff

Copy link
Contributor

@Jimbo4350 Jimbo4350 left a comment

Choose a reason for hiding this comment

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

Preemptively blocking this until I've reviewed it.

@palas palas force-pushed the separate-wasi-from-js branch from a0d5d18 to 0f33a61 Compare November 3, 2025 13:11
@palas palas force-pushed the separate-wasi-from-js branch from 0f33a61 to c111ca2 Compare November 3, 2025 14:40
@palas palas requested a review from Jimbo4350 November 3, 2025 14:52
Base automatically changed from separate-wasi-from-js to master November 3, 2025 18:39
@ItsDaveB
Copy link

ItsDaveB commented Nov 6, 2025

Just built this and successfully loaded it into a .NET application, can confirm it’s working (e.g., calling newTx() and other exports).
I’d been asking about WASI support recently after noticing the JS glue in the earlier WASM builds, so thank you for making this possible.
This is great work, a pure WASI output is extremely useful and opens up a lot of opportunities. @palas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants