Sur cette page
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 portefeuille | Modèle | Types d’adresses pris en charge |
|---|---|---|
| Portefeuille logiciel | Tous | p2wpkh (Segwit natif), p2tr (Taproot) |
| Portefeuille matériel | Pro, Classic1S | p2tr (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— obligatoirestring[]Tableau de chaînes hexadécimales des PSBT à signeroptions— facultatifobjectautoFinalized— facultatifbooleanIndique s’il faut finaliser les PSBT après signature, la valeur par défaut esttruetoSignInputs— facultatifarraySpécifier les entrées à signerindex— obligatoirenumberEntrée à signeraddress— facultatifstringClé privée correspondante à utiliser pour la signature (spécifier address ou publicKey)publicKey— facultatifstringClé privée correspondante à utiliser pour la signature (spécifier address ou publicKey)sighashTypes— facultatifnumber[]Types sighash facultatifsdisableTweakSigner— facultatifbooleanLa valeur par défaut estfalse. Définisseztruepour utiliser la clé privée d’origine lors de la signature des entrées TaprootuseTweakedSigner— facultatifbooleanImposer 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