BlockchainCommons / BlockchainCommons/sweeptool-cli
Range format for output descriptors
- Langage dominant
- Rust
- Étoiles
- 3
- Forks
- 1
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
## Abstract
Currently sweeptool handles output descriptors in Bitcoin Core compatible format wrt configurable range: `/*`
This means we have to pass the Receiving and Change descriptor separately.
However, there are many different standards which try to pass a descriptor only once for the Change and Receive purpose. This includes `Gordian products` (which omit the `/0/*` and `/1/*`), some other vendors (unchained capital?) which expect a `/0/*` and derive `/1/*` automatically, and there's a new BIP https://nunchuk.medium.com/a-new-multisig-standard-and-nunchuk-1-0-499dd3690f2d which seems to handle this more elegantly.
Imo, dropping the tail is problematic as Bitcoin Core understands that as something different, example:
```bash
$ bitcoin-cli getdescriptorinfo "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL/1/*)"
{
"descriptor": "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL/1/*)#ml40v0wf",
"checksum": "ml40v0wf",
"isrange": true,
"issolvable": true,
"hasprivatekeys": false
}
```
```bash
$ bitcoin-cli getdescriptorinfo "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)"
{
"descriptor": "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)#0gu49ctj",
"checksum": "0gu49ctj",
"isrange": false,
"issolvable": true,
"hasprivatekeys": false
}
```
What formats should we support?
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Aucun fichier, test ou point d’entrée n’est nommé. Commencez par examiner comment sweeptool accepte actuellement les descripteurs de sortie compatibles avec Bitcoin Core, puis comparez les formes de descripteur décrites dans l’issue et déterminez quelles plages devraient être prises en charge. Le travail est terminé lorsque les formats pris en charge ainsi que leur comportement attendu pour Receive et Change sont décidés et spécifiés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- cli
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100