cryptoadvance / cryptoadvance/specter-desktop
Use standard formats for descriptor export
- Dominant language
- Python
- Stars
- 847
- Forks
- 259
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 2
Description
Specter currently exports a multi-sig descriptor embedded in a JSON object, e.g.
> ```{"label": "Test Multisig 2-of-3", "blockheight": 481824, "descriptor": "wsh(sortedmulti(2,[dc567276/48h/0h/0h/2h]xpub6DiYrfRwNnjeX4vHsWMajJVFKrbEEnu8gAW9vDuQzgTWEsEHE16sGWeXXUV1LBWQE1yCTmeprSNcqZ3W74hqVdgDbtYHUv3eM4W2TEUhpan/0/*,[f245ae38/48h/0h/0h/2h]xpub6DnT4E1fT8VxuAZW29avMjr5i99aYTHBp9d7fiLnpL5t4JEprQqPMbTw7k7rh5tZZ2F5g8PJpssqrZoebzBChaiJrmEvWwUTEMAbHsY39Ge/0/*,[c5d87297/48h/0h/0h/2h]xpub6DjrnfAyuonMaboEb3ZQZzhQ2ZEgaKV2r64BFmqymZqJqviLTe1JzMr2X2RfQF892RH7MyYUbcy77R7pPu1P71xoj8cDUMNhAMGYzKR4noZ/0/*))#hfwurrvt", "devices": [{"type": "other", "label": "Test Multisig 2-of-3 Cosigner 1"}, {"type": "other", "label": "Test Multisig 2-of-3 Cosigner 2"}, {" type": "other", "label": "Test Multisig 2-of-3 Cosigner 3"}] }```
When exporting as animated QR codes, the parts looks like this:
> ```p1of3 {"label": "Test Multisig 2-of-3", "blockheight": 481824, "descriptor": "wsh(sortedmulti(2,[dc567276/48h/0h/0h/2h]xpub6DiYrfRwNnjeX4vHsWMajJVFKrbEEnu8gAW9vDuQzgTWEsEHE16sGWeXXUV1LBWQE1yCTmeprSNcqZ3W74hqVdgDbtYHUv3eM4W2TEUhpan/0/*,[f245ae38/48```
This issue is about supporting the blockchain commons standards, [BCR-2020-005](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md) for the QR codes, and [BCR-2020-010](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-010-output-desc.md) for the output descriptor.
To keep it simple, you can start by wrapping your descriptor in the generic `bytes` data type, and skip the fancier fountain encoding. BlueWallet does that.
CC @ChristopherA.
Contributor guide
Assessment
This issue has not been assessed yet.