kaspa-wasm WASM32 bindings for Kaspa
The APIs are currently separated into the following groups:
Transaction API — Bindings for primitives related to transactions. This includes basic primitives related to consensus transactions, as well as
VirtualTransactionprimitives usable for transaction creation.
Wallet API — API for async core wallet processing tasks.
RPC API — RPC interface bindings for the Kaspa node using WebSocket connections. Compatible with Rusty Kaspa as well as with the Golang node (kaspad) via the
kaspa-wrpc-proxyWebSocket / gRPC proxy (located in
There are multiple ways to use RPC:
- Control over WebSocket-framed JSON-RPC protocol (you have to manually handle serialization)
RpcClientclass that handles the connectivity automatically and provides RPC interfaces in a form of async function calls.
NODEJS: To use WASM RPC client in the Node.js environment, you need to introduce a W3C WebSocket object before loading the WASM32 library. You can use any Node.js module that exposes a W3C-compatible WebSocket implementation. Two of such modules are WebSocket (provides a custom implementation) and isomorphic-ws (built on top of the ws WebSocket module).
You can use the following shims:
// `websocket` module globalThis.WebSocket = require('websocket').w3cwebsocket; // `isomorphic-ws` module globalThis.WebSocket = require('isomorphic-ws');
For more details, please follow the integrating with Kaspa guide.