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

feat: wasm #38

Merged
merged 5 commits into from Sep 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/ci.yml
Expand Up @@ -22,7 +22,7 @@ jobs:
run: git submodule update --init --recursive
- name: cargo test
run: |
cargo test
cargo test --release --workspace --exclude rln-wasm
lint:
runs-on: ubuntu-latest
steps:
Expand All @@ -40,6 +40,9 @@ jobs:
- name: cargo fmt
run: cargo fmt --all -- --check
- name: cargo clippy
run: cargo clippy
run: |
(cd multiplier && cargo clippy)
(cd rln && cargo clippy)
(cd semaphore && cargo clippy)
# Currently not treating warnings as error, too noisy
# -- -D warnings
1 change: 1 addition & 0 deletions Cargo.toml
Expand Up @@ -3,4 +3,5 @@ members = [
"multiplier",
"semaphore",
"rln",
"rln-wasm",
]
27 changes: 27 additions & 0 deletions rln-wasm/Cargo.toml
@@ -0,0 +1,27 @@
[package]
name = "rln-wasm"
version = "0.1.0"
edition = "2021"

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
rln = { path = "../rln", default-features = false, features = ["wasm"] }
num-bigint = { version = "0.4", default-features = false, features = ["rand", "serde"] }
wasmer = { version = "2.3", default-features = false, features = ["js", "std"] }
web-sys = {version = "0.3", features=["console"]}
getrandom = { version = "0.2.7", default-features = false, features = ["js"] }
wasm-bindgen = "0.2.63"
serde-wasm-bindgen = "0.4"
js-sys = "0.3.59"
console_error_panic_hook = "0.1.7"
serde_json = "1.0.85"

[dev-dependencies]
wasm-bindgen-test = "0.3.0"
wasm-bindgen-futures = "0.4.33"

[profile.release]
debug = true

20 changes: 20 additions & 0 deletions rln-wasm/README.md
@@ -0,0 +1,20 @@
# RLN for WASM
This library is used in [waku-org/js-rln](https://github.com/waku-org/js-rln/)

## Building the library
1. Make sure you have nodejs installed and the `build-essential` package if using ubuntu.
2. Install wasm-pack
```
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
```
3. Compile zerokit for `wasm32-unknown-unknown`:
```
cd rln-wasm
wasm-pack build --release
```
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe add a pointer to how https://github.com/waku-org/js-rln/? Maybe this belongs more in that repo, but looking at README not obvious to me how to run something similar to the example app that existed here before


## Running tests
```
cd rln-wasm
wasm-pack test --node --release
```