The mutiny node that powers the mutiny web frontend.
The frontend for Mutiny Wallet is here.
The web front end imports the NPM package that this project creates here.
A flake.nix file has been added for easier nix development and testing. Pretty much all cargo / wasm commands work, though right now optimized for aarch64-unknown-linux-gnu and wasm32-unknown-unknown compilation in the nix shell.
To start:
nix develop Then the following just examples that work:
just clippy-nix just test-nix just pack just release See the discussion here: rust-bitcoin/rust-secp256k1#283
You may have to either prefix some environment variables or set them in your env or shell file:
AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang rust (specifically, nightly:
rustup toolchain install nightly-2023-10-24andrustup target add wasm32-unknown-unknown --toolchain nightly)
cargo install wasm-pack brew install chromedriver Get all the dependencies above first.
Build the rust wasm stuff:
just pack To run the local tests you can simply use
just test To test running mutiny with mutiny-web you'll need to run the following:
just pack just link Then in the mutiny-web repo:
just local Then you can run the mutiny-web project and it will use the locally built mutiny-node instead of the published npm package.
You only need to run just link once, but you'll need to run just pack every time you make changes to the rust code. just link creates a symlink in the mutiny-web project to the mutiny-node project. This allows you to make changes to the mutiny-node project and see them reflected in the mutiny-web project without having to publish the npm package. just pack builds the wasm binary and needs to be run every time you make changes to the rust code.
The mutiny-core rust library and mutiny-wasm typescript packages are published when new github releases are created. Just bump both of those cargo.toml package numbers and create release just publish.