Skip to Content
dApps

signPsbts

Signer plusieurs PSBT à la fois. Cette méthode parcourt toutes les entrées correspondant à l’adresse actuelle pour les signer.

Compatibilité des portefeuilles et types d’adresses

Type de portefeuilleModèleTypes d’adresses pris en charge
Portefeuille logicielTousp2wpkh (Segwit natif), p2tr (Taproot)
Portefeuille matérielPro, Classic1Sp2tr (Taproot)

Méthode

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

Paramètres

  • psbtHexs — obligatoire string[] Tableau de chaînes hexadécimales des PSBT à signer
  • options — facultatif object
    • autoFinalized — facultatif boolean Indique s’il faut finaliser les PSBT après signature, la valeur par défaut est true
    • toSignInputs — facultatif array Spécifier les entrées à signer
      • index — obligatoire number Entrée à signer
      • address — facultatif string Clé privée correspondante à utiliser pour la signature (spécifier address ou publicKey)
      • publicKey — facultatif string Clé privée correspondante à utiliser pour la signature (spécifier address ou publicKey)
      • sighashTypes — facultatif number[] Types sighash facultatifs
      • disableTweakSigner — facultatif boolean La valeur par défaut est false. Définissez true pour utiliser la clé privée d’origine lors de la signature des entrées Taproot
      • useTweakedSigner — facultatif boolean Imposer l’utilisation ou non d’un signataire ajusté ; priorité supérieure à disableTweakSigner

Valeur de retour

  • Promise<string[]> Tableau de chaînes hexadécimales des PSBT signées

Exemple

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); }

Démonstration

Les valeurs abrégées sont fictives. Remplacez-les par des PSBT, adresses et clés publiques complètes. L’interface publiée du fournisseur expose autoFinalized ; les options avancées d’entrée dépendent de l’implémentation du portefeuille et doivent être vérifiées avec la version cible. La signature ne diffuse pas de transaction.

Dernière mise à jour le