STORY
Mutiny Web, Week 1
AUTHOR
Joined 2022.10.04
PROJECT
DATE
VOTES
sats
COMMENTS

Mutiny Web, Week 1

Mutiny is a privacy-focused lightning mobile wallet that's been built so far using Flutter and a Sensei / LDK server backend. Mutiny Web is an experiment to see if we can put a lightning node in the browser. If Mutiny Web works, we can bring a private, sovereign lightning experience to a much wider potential audience.

We're hosting our code on a private Gitea instance: https://www.nakamoto.codes/BitcoinDevShop/mutiny-web-poc

The Team

Paul, Tony, and Ben

Progress

We got a late start on the hackathon because we were busy at TabConf.

  • Created a simple React project and styled it with Tailwind

  • Imported Rust code via wasm-bindgen

  • Imported Rust Bitcoin's bip39 crate and used it to create mnemonic seed phrases

  • Tested async websocket calls in WASM using gloo (we'll use proxied websocket connections to connect to other lightning nodes)

  • Created a basic NodeManager struct that will be used to spin up multiple nodes (we're keeping the multi-node architecture of Mutiny, with some changes)

Problems

  • Trying to get SQL in the browser

  • Tried to use Vite but it's not as slick at importing WASM so fell back to good ol' Webpack

  • The default Clang install on Mac doesn't cross compile secp256k1 to WASM, so I needed to override the version of llvm Rust uses

  • Tony's System76 laptop sucks

Plans

  • We're trying to "fail fast" so we'll try to keep picking the hardest thing on our stack

  • The "hardest" thing right now has to do with getting LDK everything it needs to do it's business (There are a lot of things)

  • We hope to be able to at least get in-browser LDK talking to a peer next week

  • This will require a working websocket proxy

  • Working local storage (hopefully via SQL)