From d459f7ac89987c70fbc3811ecbdc9e943aff1c87 Mon Sep 17 00:00:00 2001 From: "Peter D. Gray" Date: Thu, 28 Jun 2018 10:24:30 -0400 Subject: [PATCH] Beef up the README more --- plugins/coldcard/README.md | 44 ++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/plugins/coldcard/README.md b/plugins/coldcard/README.md index edc2a813d..651cd8047 100644 --- a/plugins/coldcard/README.md +++ b/plugins/coldcard/README.md @@ -3,13 +3,48 @@ ## Just the glue please -This code connects the public USB API and Electrum. Leverages all the good work that's been -done my the Electrum team to support hardware wallets. +This code connects the public USB API and Electrum. Leverages all +the good work that's been done by the Electrum team to support +hardware wallets. + +## Background + +The Coldcard has a larger screen (128x64) and a number pad. For +this reason, all PIN code entry is done directly on the device. +Coldcard does not appear on the USB bus until unlocked with appropriate +PIN. Initial setup, and seed generation must be done offline. + +Coldcard uses an emerging standard for unsigned tranasctions: + +PSBT = Partially Signed Bitcoin Transaction = BIP174 + +However, this spec is still under heavy discussion and in flux. At +this point, the PSBT files generated will only be compatible with +Coldcard. + +The Coldcard can be used 100% offline: it can generate a skeleton +Electrum wallet and save it to MicroSD card. Transport that file +to Electrum and it will fetch history, blockchain details and then +operate in "unpaired" mode. + +Spending transactions can be saved to MicroSD using the "Export PSBT" +button on the transaction preview dialog (when this plugin is +owner of the wallet). That PSBT can be signed on the Coldcard +(again using MicroSD both ways). The result is a ready-to-transmit +bitcoin transaction, which can be transmitted using Tools > Load +Transaction > From File in Electrum or really any tool. + + ## TODO Items -- No effort yet to support translations, sorry. - +- No effort yet to support translations or languages other than English, sorry. +- Coldcard PSBT format is not likely to be compatible with other devices, because the BIP174 is still in flux. +- Segwit support not 100% complete: can pay to them, but cannot setup wallet to receive them. +- Limited support for segwit wrapped in P2SH. +- Someday we could support multisig hardware wallets based on PSBT where each participant + is using different devices/systems for signing, however, that belongs in an independant + plugin that is PSBT focused and might not require a Coldcard to be present. ### Ctags @@ -17,6 +52,7 @@ done my the Electrum team to support hardware wallets. ctags -f .tags electrum `find . -name ENV -prune -o -name \*.py` + ### Working with latest ckcc-protocol - at top level, do this: