Skip to content

⛏️ wasm nostr note miner written in rust, with JS binders, a usable wrapper and demos.

Notifications You must be signed in to change notification settings

sandwichfarm/notemine

Repository files navigation

notemine⛏️

notemine mines nostr notes, the miner is written in rust, targets web and compiles to wasm. Variable difficulty and realtime hashrate. There's some demos. There are low-level js wasm bindings and an easy-to-use typescript wrapper

Packages

  • @notemine/core git npm - This package contains the wasm-bindgen build artifacts from @notemine/rust. This is a low-level interface for the Notemine WASM miner.
  • @notemine/wrapper git npm - A user-friendly wrapper for @notemine/core that greatly simplifies usage in modern stacks and deployments with modern bundlers. Provides observables, manages workers, tracks internal state and bundles wasm as inline base64 within inline web-workers for hassle-free use in modern apps targeted for the browser.

Demos

  • @notemine/vanilla-js-demo git is a demo written with HTML, Vanilla JS and CSS, with no bundlers, that implements @notemine/core
  • @notemine/svelte-demo git is a demo built with svelte and vite that implements @notemine/wrapper

Planned

  • @notemine/svelte Module that extends @notemine/wrapper, optimized for Svelte that exports stores and components for hassle-free use in svelte projects.
  • @notemine/reactjs Module that extends @notemine/wrapper, optimized for ReactJS that exports stores and components for hassle-free use in svelte projects.

Forks:

  • notemine-hw is a fork of @notemine/rust ported to a cli application that leverages hardware acceleration

Build

Will build all packages.

pnpm install 

Install without building all packages

pnpm install --ignore-scripts

Use workspace commands:

pnpm --filter @notemine/wrapper ...