Skip to Content
dApps

signPsbts

Firma varias PSBT a la vez. 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 softwareTodosp2wpkh (Segwit nativo), p2tr (Taproot)
Cartera físicaPro, Classic1Sp2tr (Taproot)

Método

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

Parámetros

  • psbtHexs — obligatorio string[] Matriz de cadenas hexadecimales de las PSBT que se van a firmar
  • options — opcional object
    • autoFinalized — opcional boolean Si se finalizan las PSBT tras firmarlas; 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
      • 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[]> Matriz de cadenas hexadecimales de las PSBT firmadas

Ejemplo

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

Demostración

Los valores abreviados son marcadores de posición. Sustitúyelos por PSBT, direcciones y claves públicas completas. La interfaz publicada del proveedor ofrece autoFinalized; las opciones avanzadas de entrada 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