bitcoind
on testnet- Python 3.6 or higher
See this tweetstorm for screenshots. They'll probably go out-of-date quickly ...
Junction project uses HWI to communicate with hardware wallets. Follow these instructions to install libusb dependency for HWI (don't do the poetry install
step). If you're on Linux you may need to install udev rules.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
npm install
Run backend in terminal window with virtual environment active:
cd server
python server.py
Run frontend in another terminal window:
npm start
Open localhost:3000
in your browser
- Supports P2SH multisig with Trezor, Ledger, and ColdCard hardware wallets
- Connects directly to your full node and monitors balance using watch-only Bitcoin Core wallet
- No javascript, minimal python dependencies
This is buggy, alpha, proof-of-concept software
- Testnet-only
- No tests
- Doesn't currently use javascript, so frequent page reloads are required and UX kinda sucks
- Doesn't support P2WSH (ColdCard has a P2WSH bug right now preventing it)
- BIP32 derivation paths hard-coded
- Only 1 wallet allowed at-a-time
- Only 1 PSBT allowed at a time
- ColdCard must be last signer added because we must upload a multisig enrollment file containing the other xpubs.
- Bitcoin Core Limitations:
- Unconfirmed balances not correctly displayed.
getbalance
andgetunconfirmedbalance
can't find unconfirmed outputs for watch-only wallets in Bitcoin Core 18.1. A newgetbalances
API will fix this in next Bitcoin Core release.
- Unconfirmed balances not correctly displayed.
- HWI limitations:
- No change detection
- Cannot display multisig receiving addresses on hardware wallet display
- Sometimes HWI thinks wallets are locked when they clearly aren't
To run tests:
Install bitcoind
to test
directory
$ ./test/install_bitcoind.sh
Run tests
python -m unittest test.test_wallet
(following these instructions)
- search "command prompt"
- right click and select "run as administrator"
copy C:\Users\justin\Downloads\MS64\dll\libusb-1.0.dll C:\Windows\System32
copy C:\Users\justin\Downloads\MS32\dll\libusb-1.0.dll C:\Windows\SysWOW64