Saltar al contenido principal

Vectores de prueba

Todos los códigos QR, firmas y direcciones de este sitio proceden de estos archivos. Se generaron ejecutando el motor de BitTool Signer (el mismo bundle de JavaScript que incluye la app de iOS) con la frase de prueba BIP39 pública, y cada firma se verificó con una biblioteca independiente.

Frase de prueba, sin passphrase BIP39
abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
Datos de prueba públicos

Cualquiera puede derivar las claves de estas direcciones. No envíes nunca fondos a ellas. Todas las transacciones son sintéticas (salidas anteriores, bloques de referencia y blockhashes inventados) y nunca se difundieron.

Descargas​

ArchivoContenido
wallet-pairing.jsonEl objeto de vinculación a nivel de cartera, el CBOR interior, el CBOR del UR, todos los fotogramas y la primera dirección de cada cuenta
coin-level-exports.jsonTodas las exportaciones a nivel de moneda: todos los perfiles de Bitcoin, los cofirmantes multifirma, EVM, los tres preajustes de Solana y las exportaciones de dirección simple
signing.jsonTodos los ciclos de firma: fotogramas y CBOR de la solicitud, campos decodificados, fotogramas y CBOR de la respuesta, firma y transacción ensamblada
walletconnect.jsonSolicitudes y resultados de WalletConnect de los siete ejemplos prácticos
recovery-phrase.jsonSemillas BIP39, huellas y primeras direcciones, con y sin passphrase

Vectores de firma​

NombreCadenaQué contiene
btc-p2wpkhBitcoinGasto P2WPKH con salida de cambio
btc-p2trBitcoinGasto Taproot por key path (solo witness UTXO)
evm-eth-transferEthereumTransferencia de ETH EIP-1559 (data-type 4)
evm-erc20-transferEthereumtransfer de USDT
evm-erc20-approveEthereumapprove de USDC (el ejemplo de eth_sendTransaction)
evm-bsc-legacyBNB ChainTransacción legacy EIP-155 (data-type 1)
evm-avax-legacyAvalancheTransacción legacy con un v de tres bytes
evm-personal-signEVMMensaje de Sign-In with Ethereum (data-type 3)
evm-eip712-permitEthereumPermit ERC-2612 (data-type 2)
tron-trx-transferTRONTransferencia de TRX
tron-trc20-transferTRONTransferencia TRC-20 de USDT
tron-messageTRONMensaje TIP-191
sol-transferSolanaTransferencia de SOL, mensaje legacy
sol-spl-transferSolanaTransferChecked de USDC
sol-messageSolanaMensaje de texto

Las firmas ECDSA (Bitcoin SegWit v0, EVM, TRON) y Ed25519 (Solana) son deterministas, así que tu implementación debería reproducirlas byte a byte al firmar los mismos bytes con la misma clave. Las firmas Taproot usan aleatoriedad nueva y cambian cada vez: verifícalas en lugar de compararlas.

Cómo usarlos​

  1. Pruebas del decodificador. Pasa los frames de cada exportación o respuesta a tu código de escaneo, en orden aleatorio y con duplicados, y compara el resultado con el JSON decodificado.
  2. Pruebas del codificador. Construye la misma solicitud con los mismos datos de entrada y compara el hex del CBOR del UR (urCBORHex). Los IDs de solicitud de los vectores son fijos (5f1e9b2c…) para que los bytes sean reproducibles.
  3. Pruebas de ensamblado. Toma la firma de la respuesta y ensambla la transacción; compárala con signedTxHex, signedTransaction, signedTransactionBase64 o finalTxHex.
  4. De extremo a extremo. Importa la frase de prueba en BitTool Signer en un iPhone de pruebas (la app exige un código de acceso en el dispositivo), vincula tu cartera y escanea tus propias solicitudes.

Regenerarlos​

El repositorio de la documentación contiene el generador y los ejemplos de código probados:

cd devdocs
npm run vectors -- /path/to/bittool-signer-ios/engine # rewrites src/data/vectors.json and static/vectors/*.json
cd examples && npm install && node test.mjs /path/to/bittool-signer-ios/engine

test.mjs ejecuta todos los ejemplos de código de este sitio contra el motor: el motor decodifica, asocia y firma las solicitudes construidas por los ejemplos, y los ejemplos verifican y ensamblan los resultados.

Vectores generados el 2026-10-18 a partir del bundle del motor con SHA-256 6933d0d8a6f60faa8222506ac0bd7eef80eb884c9f73e31e9f354b4740f21077: el motor incluido en BitTool Signer 1.0.0 y examinado por las dos revisiones de seguridad.

BitTool Signer para Android 1.0.0 incluye una compilación posterior del mismo motor (SHA-256 4b371759…00fa19). Solo cambia cómo se resumen las quemas de Bitcoin y Solana; los formatos QR y las firmas son los mismos.