Skip to Content
dApps

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 carteraModeloTipos de direcciones compatibles
Cartera de software-p2wpkh (Segwit nativo), p2tr (Taproot)
Cartera físicaPro, Classic1Sp2tr (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 — obligatorio string la cadena hexadecimal de la PSBT que se va a firmar
  • options — opcional object
    • autoFinalized — opcional boolean: si se finaliza la PSBT tras firmarla; el valor predeterminado es true
    • toSignInputs — opcional Array: especifica qué entradas firmar
      • index — obligatorio number: qué entrada firmar
      • address — opcional string: qué clave privada correspondiente usar para firmar (especifica address o publicKey)
      • publicKey — opcional string: qué clave privada correspondiente usar para firmar (especifica address o publicKey)
      • sighashTypes — opcional number[]: tipos sighash opcionales para la entrada
      • disableTweakSigner — opcional boolean: el valor predeterminado es false. Establece true para usar la clave privada original al firmar entradas taproot
      • useTweakedSigner — opcional boolean: 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

Abrir ejemplo 

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