Skip to Content
Firma mediante QRDescripción general

Air-Gap (firma sin conexión mediante QR)

Crea un ciclo de firma en el que el dispositivo permanezca sin conexión usando códigos QR codificados como UR.

Cómo funciona

  1. Construir la solicitud: Crea los datos UR de la solicitud de firma para cada cadena y represéntalos como fotogramas QR animados
  2. Escaneo por el dispositivo: El dispositivo escanea el QR, verifica los detalles en pantalla y firma sin conexión
  3. Obtener la firma: El dispositivo muestra la firma UR como un QR animado
  4. Difundir: La aplicación escanea la respuesta, la verifica y la difunde a través de tu red

Inicio rápido por cadena

CadenaTipo de solicitud (aplicación → dispositivo)Tipo de respuesta (dispositivo → aplicación)
Ethereum y EVMeth-sign-requesteth-signature
Bitcoin (PSBT)crypto-psbtcrypto-psbt
Solanasol-sign-requestsol-signature
Trontron-sign-requesttron-signature

Tipos de exportación de cuentas (dispositivo → aplicación)

Estos tipos UR se usan cuando el dispositivo exporta información de cuentas a la aplicación durante la configuración inicial:

Tipo URDescripción
crypto-hdkeyExportación de una sola clave HD (BCR-2020-007 )
crypto-multi-accountsExportación de un conjunto de cuentas de varias cadenas

Referencia de la API

  • API básica – Tipos UR básicos: CryptoHDKey, CryptoCoinInfo, CryptoKeypath

Paquetes

# Keystone SDK & UR registries npm install @keystonehq/keystone-sdk @keystonehq/bc-ur-registry-eth # UR primitives npm install @ngraveio/bc-ur

Integración con carteras de terceros

Si integras OneKey Air-Gap en una cartera existente, asegúrate de que tu escáner QR envíe estos tipos UR a un decodificador BC-UR v2 (con codificación fountain), no a un decodificador heredado v1.

Tipos UR que debe aceptar tu escáner

DirecciónTipo URCuándo
Dispositivo → aplicacióncrypto-psbtPSBT de BTC firmada
Dispositivo → aplicacióncrypto-hdkeyExportación de clave HD al conectar
Dispositivo → aplicacióncrypto-multi-accountsExportación de varias cuentas al conectar
Dispositivo → aplicacióneth-signatureRespuesta de firma ETH
Dispositivo → aplicaciónsol-signatureTransacción SOL firmada
Dispositivo → aplicaciónbtc-signatureFirma BTC (no PSBT)
Aplicación → dispositivoeth-sign-requestSolicitud de firma ETH
Aplicación → dispositivosol-sign-requestSolicitud de firma SOL
Aplicación → dispositivocrypto-psbtPSBT de BTC sin firmar
Dispositivo → aplicacióntron-signatureRespuesta de firma TRON
Aplicación → dispositivotron-sign-requestSolicitud de firma TRON

Error frecuente: selección del decodificador según el tipo UR

Algunas carteras usan una lista de permitidos para decidir qué tipos UR se decodifican con el decodificador moderno BC-UR v2 (códigos fountain mediante @ngraveio/bc-ur). Los tipos que no estén en la lista pueden pasar a un decodificador heredado v1, que usa un esquema de codificación completamente distinto y puede bloquear el escáner.

Si el escáner muestra «continúa escaneando» pero nunca termina, comprueba que el tipo UR esté en la lista de permitidos de v2.

onekey-app-call-device (protocolo privado)

El tipo UR onekey-app-call-device es un protocolo interno de OneKey usado para operaciones de administración del dispositivo (p. ej., getMultiAccounts, verifyAddress). Las carteras de terceros NO deben implementar este tipo — puede cambiar sin previo aviso. Usa los métodos estándar de Keystone SDK.

Demostraciones y ejemplos

Nota: Air-Gap funciona sin conexión por diseño. No hay un entorno de pruebas en línea en el navegador.

Última actualización el