Skip to Content
dApps
Auf dieser Seite

signPsbts

Mehrere PSBTs gleichzeitig signieren. Diese Methode durchläuft zum Signieren alle Eingaben, die der aktuellen Adresse entsprechen.

Kompatibilität von Wallets und Adresstypen

Wallet-TypModellUnterstützte Adresstypen
Software-WalletAllep2wpkh (Native Segwit), p2tr (Taproot)
Hardware-WalletPro, Classic1Sp2tr (Taproot)

Methode

declare function signPsbts( psbtHexs: string[], options?: { autoFinalized?: boolean; toSignInputs?: Array<{ index: number; address?: string; publicKey?: string; sighashTypes?: number[]; disableTweakSigner?: boolean; useTweakedSigner?: boolean; }>; }, ): Promise<string[]>

Parameter

  • psbtHexs — erforderlich string[] Array von Hex-Zeichenfolgen der zu signierenden PSBTs
  • options — optional object
    • autoFinalized — optional boolean Ob PSBTs nach dem Signieren finalisiert werden sollen; Standard ist true
    • toSignInputs — optional array Festlegen, welche Eingaben signiert werden sollen
      • index — erforderlich number Welche Eingabe signiert werden soll
      • address — optional string Welcher zugehörige private Schlüssel zum Signieren verwendet werden soll (entweder address oder publicKey angeben)
      • publicKey — optional string Welcher zugehörige private Schlüssel zum Signieren verwendet werden soll (entweder address oder publicKey angeben)
      • sighashTypes — optional number[] Optionale sighash-Typen
      • disableTweakSigner — optional boolean Standard ist false. Setzen Sie true, um beim Signieren von Taproot-Eingaben den ursprünglichen privaten Schlüssel zu verwenden
      • useTweakedSigner — optional boolean Erzwingen, ob ein angepasster Signierer verwendet wird; höhere Priorität als disableTweakSigner

Rückgabe

  • Promise<string[]> Array von Hex-Zeichenfolgen der signierten PSBTs

Beispiel

const provider = (window.$onekey && window.$onekey.btc) || window.unisat; try { const psbtHexs = [ "70736274ff01007d...", "70736274ff01007d..." ]; const signeds = await provider.signPsbts(psbtHexs, { autoFinalized: true, toSignInputs: [ { index: 0, publicKey: "02abc...", useTweakedSigner: true }, { index: 1, address: "bc1p...", disableTweakSigner: true } ] }); console.log(signeds); } catch (e) { console.log(e); }

Demo

Die verkürzten Werte sind Platzhalter. Ersetzen Sie sie durch vollständige PSBTs, Adressen und öffentliche Schlüssel. Die veröffentlichte Provider-Schnittstelle stellt autoFinalized bereit; erweiterte Eingabeoptionen hängen von der Wallet-Implementierung ab und sollten anhand der Zielversion geprüft werden. Das Signieren überträgt keine Transaktion.

Zuletzt aktualisiert am