Saltar al contenido principal

Vectores de prueba

Todos los códigos QR, firmas y direcciones de este sitio provienen de estos archivos. Se produjeron 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. Nunca les envíes fondos. Todas las transacciones son sintéticas (salidas previas, bloques de referencia y blockhashes inventados) y nunca se transmitieron.

Descargas​

ArchivoContenido
wallet-pairing.jsonEl objeto de emparejamiento a nivel de billetera, el CBOR interno, 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 multisig, EVM, los tres presets 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, la firma y la transacción ensamblada
walletconnect.jsonSolicitudes y resultados de WalletConnect de los siete ejemplos prácticos
recovery-phrase.jsonSemillas BIP39, huellas digitales y primeras direcciones, con y sin passphrase

Vectores de firma​

NombreCadenaQué contiene
btc-p2wpkhBitcoinGasto P2WPKH con salida de cambio
btc-p2trBitcoinGasto Taproot por ruta de clave (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 de 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 por 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 a partir de las mismas entradas y compara el hex del CBOR del UR (urCBORHex). Los IDs de solicitud de los vectores son fijos (5f1e9b2c…), así que los bytes son 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 prueba (la app requiere que el dispositivo tenga código de acceso), empareja tu billetera y escanea tus propias solicitudes.

Regeneración​

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 cada ejemplo 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 ambas 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.