An open API service indexing awesome lists of open source software.

https://github.com/mcaptcha/pow_wasm

WASM port of the proof-of-work library used in mCaptcha
https://github.com/mcaptcha/pow_wasm

mcaptcha proof-of-work wasm

Last synced: 6 months ago
JSON representation

WASM port of the proof-of-work library used in mCaptcha

Awesome Lists containing this project

README

          

PoW JavaScript library

JavaScript library to generate PoW for mCaptcha

[![0.1.0](https://img.shields.io/badge/Rust_docs-master-dea584)](https://mcaptcha.github.io/pow_wasm/pow_wasm/index.html)
[![Build](https://github.com/mCaptcha/pow_wasm/actions/workflows/linux.yml/badge.svg)](https://github.com/mCaptcha/pow_wasm/actions/workflows/linux.yml)
[![dependency status](https://deps.rs/repo/github/mCaptcha/pow_wasm/status.svg)](https://deps.rs/repo/github/mCaptcha/pow_wasm)


[![codecov](https://codecov.io/gh/mCaptcha/pow_wasm/branch/master/graph/badge.svg)](https://codecov.io/gh/mCaptcha/pow_wasm)

**NOTE:** wasm compilation currently requires `rustc` nightly and
wasm optimization of this library will have to be done manually at the
moment. Please refer to https://github.com/rustwasm/wasm-pack/issues/886
for more information.

### Optimization:

```
$ /path/to/wasm-opt pkg/pow_bg.wasm -o pkg/pow_bg.wasm -O --enable-mutable-globals
```

My `/path/to/wasm-opt` is `~/.cache/.wasm-pack/wasm-opt-4d7a65327e9363b7/wasm-opt`

---

Default documentation provided by Rust wasm:


Tutorial
|
Chat

Built with 🦀🕸 by The Rust and WebAssembly Working Group

## About

[**📚 Read this template tutorial! 📚**][template-docs]

This template is designed for compiling Rust libraries into WebAssembly and
publishing the resulting package to NPM.

Be sure to check out [other `wasm-pack` tutorials online][tutorials] for other
templates and usages of `wasm-pack`.

[tutorials]: https://rustwasm.github.io/docs/wasm-pack/tutorials/index.html
[template-docs]: https://rustwasm.github.io/docs/wasm-pack/tutorials/npm-browser-packages/index.html

## 🚴 Usage

### 🐑 Use `cargo generate` to Clone this Template

[Learn more about `cargo generate` here.](https://github.com/ashleygwilliams/cargo-generate)

```
cargo generate --git https://github.com/rustwasm/wasm-pack-template.git --name my-project
cd my-project
```

### 🛠️ Build with `wasm-pack build`

```
wasm-pack build
```

### 🔬 Test in Headless Browsers with `wasm-pack test`

```
wasm-pack test --headless --firefox
```

### 🎁 Publish to NPM with `wasm-pack publish`

```
wasm-pack publish
```

## 🔋 Batteries Included

- [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) for communicating
between WebAssembly and JavaScript.
- [`console_error_panic_hook`](https://github.com/rustwasm/console_error_panic_hook)
for logging panic messages to the developer console.
- [`wee_alloc`](https://github.com/rustwasm/wee_alloc), an allocator optimized
for small code size.

## Funding

### NLnet


NLnet NGIZero logo


2023 development is funded through the [NGI0 Entrust
Fund](https://nlnet.nl/entrust), via [NLnet](https://nlnet.nl/). Please
see [here](https://nlnet.nl/project/mCaptcha/) for more details.