Stateless Bitcoin CLI wallet backed by Trezor hardware and Blockbook indexing servers. Just plug in your Trezor and go!
You can use microwallet as a highly scriptable CLI, or you can use it as a library in your Python application.
Microwallet currently requires an unreleased version of Blockbook. You can use your own instance, or wait for gradual rollout of the required features in the upcoming weeks.
Microwallet is built with Click library, which means that it has very nice help screens.
You can view them any time using the --help
argument:
$ microwallet --help # show general help
$ microwallet receive --help # show help for the 'receive' command
View your Bitcoin balance on your primary account:
$ microwallet show
Balance: 0.0001 BTC
Get a fresh receiving address for second Dogecoin account, and confirm the address on a Trezor screen:
$ microwallet -c Dogecoin -a 1 receive -s
DKHVXpTX5y31RF48NkpCF3bs43o83UwMUM
Please confirm action on your Trezor device
Send 92 million DOGE (9200000000000000 satoshi) to an address:
$ microwallet -c Dogecoin send DogecoinRecipientAddress 9200000000000000
This is a work in progress.
With microwallet and trezorctl, you can prepare a transaction for signing on an online computer, and sign it with Trezor connected to an offline computer.
On the offline computer, get your XPUB:
$ trezorctl get-public-node -n m/49h/0h/0h node.depth: 3 node.fingerprint: b9b82be7 node.child_num: 2147483648 node.chain_code: 2bb4(...) node.public_key: 02b9(...) xpub: xpub6D1weXBcFAo8C(...)
On the online computer, use microwallet to create a transaction sending 10000 satoshi:
$ microwallet \ -x xpub6D1weXBcFAo8C(...) \ fund 1BitcoinRecipientAddress 10000 \ -j offline-tx.json
Edit the generated JSON file. Change every
address_n
field by prepending the path you used withget-public-node
.(obviously, this step won't be necessary in future versions)
You also have to add 2147483648 (0x80000000) to the numbers. I.e., if your path was
m/49h/0h/0h
, modify the JSON data that says:"address_n": [ 0, 3 ],
to this:
"address_n": [ 2147483697, 2147483648, 2147483648, 0, 3 ],
where
2147483697
corresponds to "49h" and each2147483648
corresponds to "0h".
Support for BIP-174 PSBT is being developed.
Refer to the installation guide.
- Free software: GNU General Public License v3
- Documentation: https://microwallet.readthedocs.io.
- This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage
project template.