Crates.io | aleo-wasm |
lib.rs | aleo-wasm |
version | 0.6.9 |
source | src |
created_at | 2022-11-15 01:41:28.565737 |
updated_at | 2023-11-27 18:23:30.925445 |
description | WebAssembly based toolkit for developing zero knowledge applications with Aleo |
homepage | https://aleo.org |
repository | https://github.com/AleoHQ/sdk |
max_upload_size | |
id | 715365 |
size | 288,875 |
Aleo JavaScript and WebAssembly bindings for building zero-knowledge web applications.
Rust
compiles easily to WebAssembly
but creating the glue code necessary to use compiled WebAssembly binaries
from other languages such as JavaScript is a challenging task. wasm-bindgen
is a tool that simplifies this process by
auto-generating JavaScript bindings to Rust code that has been compiled into WebAssembly.
This crate uses wasm-bindgen
to create JavaScript bindings to Aleo source code so that it can be used to create zero
knowledge proofs directly within web browsers
and NodeJS
.
Functionality exposed by this crate includes:
Records
, Programs
, and Transactions
and their associated helper methodsProgramManager
object that contains methods for authoring, deploying, and interacting with Aleo programsMore information on these concepts can be found at the Aleo Developer Hub.
The rollup-plugin-rust tool is used to compile the Rust code in this crate into JavaScript modules which can be imported into other JavaScript projects.
Follow the installation instructions on the rollup-plugin-rust README.
yarn build
This will produce .js
and .wasm
files inside of the dist
folder.
Run tests in NodeJS
wasm-pack test --node
Run tests in a browser
wasm-pack test --[firefox/chrome/safari]
Further documentation and tutorials as to how to use the modules built from this crate to build web apps will be built
in the future. However - in the meantime, the aleo.tools website is a good
example of how to use these modules to build a web app. Its source code can be found in the
Aleo SDK repo in the website
folder.