Skip to content

Latest commit

 

History

History
102 lines (80 loc) · 3.23 KB

README.md

File metadata and controls

102 lines (80 loc) · 3.23 KB

Live Wallet

Keep your utxos alive

Description

  • An application to help estimate the effect of bitcoin transaction fees on invididual utxos and transactions containing multiple utxos.

Demos

LiveWalletDemo.2.mov

Multisig wallet support demo

multisig.mov

Development

Prerequisits

$ curl https://getnigiri.vulpem.com | bash
  • For hardware wallet usb interactions, libusb is required.
$ brew install libusb

How to create a new release

  • Use the script update_app_version.sh, passing it a new version number and text to append to the change log file.
  • If a new version is successfully set then this script will build a new release by running the package_app.sh script.
$ bash scripts/update_app_version.sh "1.2.0" "I am adding another item to the change log"

How to create build

  • in a single script you can package the backend and the frontend into a single executable by running
$ bash scripts/package_app.sh
  • The app build will be available in /release directory

  • To build just the backend python server run (from ./backend/)

bash build_executable.sh
  • to copy the new backend builds to where the frontend is expecting it run (./backend/)
cp -R dist/* ../assets/
  • To build the frontend which will include the backend build run (from .)
$ sudo npm run package
  • The app build will be available in /release directory

How to have apple sign app builds

  • this script will send zip files of the builds of the arm and intel builds to apple to notarize.
  • specify the version of the build, for example (0.6.0)
$ bash scripts/notarize_mac_app_builds.sh 0.6.0

How to verify mac os app builds have been notarized by apple

  • this script will run commands to verify both arm64 and intel based builds have been signed by apple and can successfully be run on mac os systems.
$ bash scripts/verify_mac_app_notarizations.sh

How to start app locally

  • To startup the electron app run
$ sudo npm start
  • To start up the backend server and related services run
$ bash backend/start_app.sh
  • Docker must be running in order to run the related backend services. (chopsticks, espolora, electrs, bitcoin)

  • These are needed for the backend to be able to communicate with an electrum server which talks with a bitcoind container, this is all handled via nigiri

  • To tear down containers from start_app.sh run

$ bash backend/clean_up.sh

How to run backend tests

  • You can run
$ bash backend/test_app.sh

Development fixtures

  • when backend/start_app.sh is run the script randomly_fund_mock_wallet.py will be run to randomly generate 10 bitcoin transactions to the default dev wallet's address.
  • to generate additional transactions you can use the scripts in backend/scripts/