breez-sdk
breez-sdk copied to clipboard
WASM
This is a tracking issue to manage the WASM implementation of the Breez SDK.
Tasks
- [x] Test different WASM/WASI/emscripten build methods
- [ ] Identify changes required for Breez SDK / Greenlight
- [ ] Investigate generation of WASM bindings from UDL
Research
- Prokio An asynchronous runtime compatible with WebAssembly and non-WebAssembly targets
- Strings in WASM
- WASIX WASI ABI plus additional non-invasive syscall extensions
- WASM GC WASM Garbage Collection
- Tokio Tungstenite WebSocket library and Tokio bindings/wrappers
Issues
- Allow async traits
- https://github.com/rustwasm/wasm-bindgen/issues/2409
- WASM incompatibilities GRPC
- https://github.com/forbole/cosmos-rust-wallet/issues/4
- Building WASM on macOS
- https://github.com/rust-bitcoin/rust-secp256k1/issues/134
- Transitive dependency
bitcoinconsensus
doesn't build for WASM- https://github.com/rust-bitcoin/rust-bitcoinconsensus/issues/32
- Can't use ring on wasm32-unknown-unknown die to a missing import
- https://github.com/briansmith/ring/issues/1453
- https://github.com/briansmith/ring/pull/1754
- Support wasm (socket2)
- https://github.com/rust-lang/socket2/issues/268
- Rusqlite: Error building for wasm32-wasi
- https://github.com/rusqlite/rusqlite/issues/1408
- Rusqlite: Add wasm32-unknown-unknown support
- https://github.com/rusqlite/rusqlite/pull/1010
- gRPC transport over WebSocket
- https://github.com/hyperium/tonic/issues/491
- reqwest: Wasm Support
- https://github.com/seanmonstar/reqwest/issues/288
- https://github.com/seanmonstar/reqwest/pull/630
- Status of rust+C bindings for wasm targets
- https://github.com/rustwasm/team/issues/291#issuecomment-1343315089