Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Expose remaining SignOptions fields in the wallet sign command

Offen Anfängerfreundlich
#358 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@emma31-dev arbeitet bereits daran.

Seit 21.10.2026.

  • #365 von @emma31-dev — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
78/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
cli

Rechercherichtung

Der Issue besagt, dass die Änderung auf SignCommand beschränkt ist; lies zunächst die Argumentdefinitionen und die Methode execute. Füge CLI-Optionen für die aufgeführten Felder von SignOptions hinzu und behalte die Bibliotheksstandards bei, wenn Flags weggelassen werden. Ermittle, wie TapLeavesOptions serialisiert werden soll. Die Aufgabe ist abgeschlossen, wenn CLI-Nutzer jedes Feld festlegen können und ausgelassene Optionen ihre Standardwerte behalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

Describe the enhancement

The wallet sign command only exposes assume_height and trust_witness_utxo. The remaining fields on bdk_wallet::SignOptions: allow_all_sighashes, try_finalize, sign_with_tap_internal_key, and allow_grinding, tap_leaves_options are fixed at their defaults, so CLI users have no way to change them. This request adds a flag for each, using Option<bool> and Option<TapLeavesOptions> for tap_leaves_options so that omitting a flag preserves the library default.

Use case

allow_all_sighashes is needed to sign PSBTs using anything other than SIGHASH_ALL, which currently fails through the CLI. try_finalize = false is needed for multisig, where finalizing after the first signature blocks the second signer from adding theirs. remove_partial_sigs = false preserves partial signatures between signing rounds. sign_with_tap_internal_key and allow_grinding are useful for Taproot debugging and signature comparison. Together these make the CLI usable for collaborative signing, which is currently only possible by calling the library directly.

Additional context

The change is confined to SignCommand. Each field follows the existing pattern:

#[arg(env = "ALLOW_ALL_SIGHASHES", long = "allow_all_sighashes")]
pub allow_all_sighashes: Option<bool>,
// Other args

and feeds into SignOptions in execute:

let signopt = SignOptions {
    assume_height: self.assume_height,
    trust_witness_utxo: self.trust_witness_utxo.unwrap_or(false),
    allow_all_sighashes: self.allow_all_sighashes.unwrap_or(false),
    tap_leaves_options: self.tap_leaves_options.unwrap_or_default(),
    try_finalize: self.try_finalize.unwrap_or_default(),
    sign_with_tap_internal_key: self.sign_with_tap_internal_key.unwrap_or_default(),
    allow_grinding: self.allow_grinding.unwrap_or_default(),
};

tap_leaves_options would require a manual serializer though.

Vorherrschende Sprache
Rust
Sterne
143
Forks
103
Ø Merge
2 T. 9 Std.
Gemergte PRs (30 T.)
5

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus bitcoindevkit/bdk-cli

Alle Issues in bitcoindevkit/bdk-cli

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.