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-Typ | Modell | Unterstützte Adresstypen |
|---|---|---|
| Software-Wallet | Alle | p2wpkh (Native Segwit), p2tr (Taproot) |
| Hardware-Wallet | Pro, Classic1S | p2tr (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— erforderlichstring[]Array von Hex-Zeichenfolgen der zu signierenden PSBTsoptions— optionalobjectautoFinalized— optionalbooleanOb PSBTs nach dem Signieren finalisiert werden sollen; Standard isttruetoSignInputs— optionalarrayFestlegen, welche Eingaben signiert werden sollenindex— erforderlichnumberWelche Eingabe signiert werden solladdress— optionalstringWelcher zugehörige private Schlüssel zum Signieren verwendet werden soll (entweder address oder publicKey angeben)publicKey— optionalstringWelcher zugehörige private Schlüssel zum Signieren verwendet werden soll (entweder address oder publicKey angeben)sighashTypes— optionalnumber[]Optionale sighash-TypendisableTweakSigner— optionalbooleanStandard istfalse. Setzen Sietrue, um beim Signieren von Taproot-Eingaben den ursprünglichen privaten Schlüssel zu verwendenuseTweakedSigner— optionalbooleanErzwingen, ob ein angepasster Signierer verwendet wird; höhere Priorität alsdisableTweakSigner
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