BlockchainCommons / BlockchainCommons/sweeptool-cli

Range format for output descriptors

オープン
#5 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
question
主要言語
Rust
スター
3
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

説明

## 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?

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

ファイル、テスト、エントリポイントは指定されていません。まず、現在の sweeptool が Bitcoin Core 互換の出力ディスクリプターをどのように受け付けているかを確認し、次に issue で説明されているディスクリプター形式を比較して、どの範囲をサポートすべきかを判断してください。サポートする形式と、それらに対して期待される Receive および Change の動作が決定され、仕様として明記されていれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
cli
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。