En esta página
signPsbt
Este método recorre todas las entradas que coinciden con la dirección actual para firmarlas.
Compatibilidad de carteras y tipos de direcciones
| Tipo de cartera | Modelo | Tipos de direcciones compatibles |
|---|---|---|
| Cartera de software | - | p2wpkh (Segwit nativo), p2tr (Taproot) |
| Cartera física | Pro, Classic1S | p2tr (Taproot) |
Método
declare function signPsbt(
psbtHex: string,
options?: {
autoFinalized?: boolean;
toSignInputs?: Array<{
index: number;
address?: string;
publicKey?: string;
sighashTypes?: number[];
disableTweakSigner?: boolean;
useTweakedSigner?: boolean;
}>;
}
): Promise<string>Parámetros
psbtHex— obligatoriostringla cadena hexadecimal de la PSBT que se va a firmaroptions— opcionalobjectautoFinalized— opcionalboolean: si se finaliza la PSBT tras firmarla; el valor predeterminado estruetoSignInputs— opcionalArray: especifica qué entradas firmarindex— obligatorionumber: qué entrada firmaraddress— opcionalstring: qué clave privada correspondiente usar para firmar (especifica address o publicKey)publicKey— opcionalstring: qué clave privada correspondiente usar para firmar (especifica address o publicKey)sighashTypes— opcionalnumber[]: tipos sighash opcionales para la entradadisableTweakSigner— opcionalboolean: el valor predeterminado es false. Establece true para usar la clave privada original al firmar entradas taprootuseTweakedSigner— opcionalboolean: fuerza si se usa un firmante ajustado. Tiene prioridad sobre disableTweakSigner
Devuelve
Promise<string> — la cadena hexadecimal de la PSBT firmada
Ejemplo
const provider = (window.$onekey && window.$onekey.btc) || window.unisat;
try {
// Basic signing
const signedBasic = await provider.signPsbt("70736274ff01007d....");
// Advanced signing with options
const signedAdvanced = await provider.signPsbt(
"70736274ff01007d....",
{
autoFinalized: false,
toSignInputs: [
{
index: 0,
address: "bc1qxxx...xxx",
},
{
index: 1,
publicKey: "02xxx...xxx",
sighashTypes: [1]
},
{
index: 2,
publicKey: "02xxx...xxx",
disableTweakSigner: true
}
]
}
);
console.log('Signed PSBT:', signedAdvanced);
} catch (error) {
console.error('Failed to sign PSBT:', error);
// Handle signing errors appropriately
}Demostración
La compatibilidad de carteras y direcciones depende de las versiones de la cartera y del firmware. Confirma la compatibilidad de la cuenta de destino antes de basarte en la tabla.
Las PSBT, direcciones y claves públicas abreviadas anteriores son marcadores de posición. Sustitúyelas por valores completos. La interfaz publicada del proveedor ofrece autoFinalized; las opciones adicionales de toSignInputs dependen de la implementación de la cartera y deben verificarse con la versión de destino. Firmar no difunde una transacción.
Última actualización el