Skip to Content
HardwareDescripción general

Introducción

Documentación para desarrolladores que integran hardware OneKey en aplicaciones web y nativas.

Hardware SDK 1.2.x admite Protocol V1 y Protocol V2 mediante la misma API de JavaScript. ¿Acabas de empezar? Comienza con Primeros pasos.

Esta página presenta la guía de orientación: elige el paquete SDK adecuado para tu plataforma e instálalo. Para el recorrido completo (búsqueda → eventos → PIN/passphrase → primera llamada de firma), así como parámetros, eventos y gestión de errores, consulta la Guía de la API Core.

Elige tu transporte

Las integraciones USB deben usar @onekeyfe/hd-common-connect-sdk; usa @onekeyfe/hd-web-sdk solo cuando el host requiera una configuración de iframe/plugin.

Métodos de conexión

MétodoDescripciónDispositivos compatibles
USB / WebUSBUSB por cable; navegador mediante WebUSB; Node.js / CLI mediante node-usbDispositivos con una interfaz USB y un firmware compatibles
Bluetooth BLE (nativo)Aplicaciones nativas mediante BLE (no Web Bluetooth); requiere Bluetooth del sistema operativo y permisosPro, Pro 2, Neo, Touch, Classic 1s / Classic 1s Pure; Mini no admite BLE
Air-Gap (QR)Firma sin conexión mediante QROneKey Pro y Pro 2; Neo no tiene cámara

Guía por plataforma

Plataforma (tecnología)TransportePaquete SDKGuía
Web (navegador)WebUSB@onekeyfe/hd-common-connect-sdk Guía de conexión WebUSB
React NativeBLE@onekeyfe/hd-ble-sdk React Native BLE
Android (nativo)BLE@onekeyfe/hd-common-connect-sdk BLE en Android
iOS (nativo)BLE@onekeyfe/hd-common-connect-sdk BLE en iOS
FlutterBLE@onekeyfe/hd-common-connect-sdk Flutter BLE

Protocolo de bajo nivel y canales personalizados: Plugin y protocolo de transporte de bajo nivel

Instalar el SDK

Elige un punto de entrada según el entorno de ejecución:

# Web / desktop WebUSB (recommended) npm i @onekeyfe/hd-common-connect-sdk # React Native BLE npm i @onekeyfe/hd-ble-sdk # Native host with low-level plugin (Android/iOS/Flutter bridge) npm i @onekeyfe/hd-common-connect-sdk # Plugin iframe host only (plugin-only) npm i @onekeyfe/hd-web-sdk

Detalles de los transportes:

Inicializar el SDK

Usa el método de inicialización correspondiente a tu entorno de ejecución; evita mezclar puntos de entrada del SDK.

WebUSB en web / escritorio

Usa @onekeyfe/hd-common-connect-sdk:

import HardwareSDK from '@onekeyfe/hd-common-connect-sdk'; const initialized = await HardwareSDK.init({ env: 'webusb', debug: false, fetchConfig: true, }); if (!initialized) throw new Error('SDK initialization failed');

React Native BLE

Usa @onekeyfe/hd-ble-sdk:

import HardwareSDK from '@onekeyfe/hd-ble-sdk'; const initialized = await HardwareSDK.init({ debug: false, }); if (!initialized) throw new Error('SDK initialization failed');

Puente nativo / bajo nivel

Usa @onekeyfe/hd-common-connect-sdk:

import HardwareSDK from '@onekeyfe/hd-common-connect-sdk'; import type { LowlevelTransportSharedPlugin } from '@onekeyfe/hd-transport'; // Provide an implemented native BLE bridge; this is a preparation fragment. declare const plugin: LowlevelTransportSharedPlugin; const initialized = await HardwareSDK.init({ env: 'lowlevel', debug: false, fetchConfig: true, }, undefined, plugin); if (!initialized) throw new Error('SDK initialization failed');
EntornoCaso de uso
webusbWebUSB en el navegador (sin iframe)
lowlevelAplicaciones nativas que conectan JS mediante un adaptador de bajo nivel
react-nativePuente RN personalizado o BLE en Electron
emulatorTransporte de emulador integrado

Host iframe de plugin

Usa @onekeyfe/hd-web-sdk (solo plugin). El host iframe predeterminado del SDK es https://jssdk.onekey.so/<installed-package-version>/ de getSDKVersion(). Omite connectSrc salvo que alojes el iframe por tu cuenta.

Esta compilación de la documentación corresponde a Hardware SDK 1.2.8-alpha.12. El host iframe predeterminado es https://jssdk.onekey.so/1.2.8-alpha.12/. Omite connectSrc para que el SDK use la versión del paquete instalado. Sobrescríbelo solo si alojas el iframe por tu cuenta y haz que coincida con la versión instalada de @onekeyfe/hd-web-sdk.

import HdWebSdk from '@onekeyfe/hd-web-sdk'; const HardwareSDK = HdWebSdk.HardwareWebSdk; const initialized = await HardwareSDK.init({ debug: false, // omit connectSrc — SDK fills https://jssdk.onekey.so/<installed-version>/ }); if (!initialized) throw new Error('SDK initialization failed');

Próximos pasos

Después de que HardwareSDK.init(...) devuelva un resultado, sigue Primeros pasos para obtener la primera dirección y después la Guía de la API Core para el resto del flujo:

Compatibilidad de dispositivos y transportes

Compatibilidad con Bluetooth, USB, Air-Gap y familia de protocolo

DispositivoProtocoloBluetoothUSBAir-Gap
OneKey Classic 1s
OneKey Classic 1s
OneKey Classic 1s
V1CompatibleCompatibleNo compatible
OneKey Classic 1s Pure
OneKey Classic 1s Pure
Edición sin batería
V1CompatibleCompatibleNo compatible
OneKey Mini
OneKey Mini
Cartera compacta solo USB
V1No compatibleCompatibleNo compatible
OneKey Touch
OneKey Touch
Experiencia totalmente táctil
V1CompatibleCompatibleNo compatible
OneKey Pro
OneKey Pro
Gama premium con seguridad por huella
V1CompatibleCompatibleCompatible
OneKey Pro 2
OneKey Pro 2
Edición profesional Protocol V2
V2CompatibleCompatibleCompatible
OneKey Neo
OneKey Neo
Edición compacta Protocol V2, sin cámara
V2CompatibleCompatibleNo compatible

Modo Air-Gap: OneKey Pro y Pro 2 permiten firmar de forma aislada mediante códigos QR, sin conexión USB ni Bluetooth, y revisar los detalles en el dispositivo antes de firmar. Consulta Integración Air-Gap para más detalles.

Paquetes principales

PaqueteFinalidadNPMVersión
@onekeyfe/hd-common-connect-sdkAPI unificada del SDK para web y nativo; punto de entrada recomendado para transportesnpm npm
@onekeyfe/hd-ble-sdkImplementación BLE puramente React Native (recomendada para proyectos RN)npm npm
@onekeyfe/hd-transport-react-nativeEfectos secundarios de registro del transporte / puente de React Nativenpm npm
@onekeyfe/hd-transport-web-deviceTransporte web para acceder al dispositivo en entornos webnpm npm
@onekeyfe/hd-transport-emulatorTransporte de emulador (desarrolla y prueba sin un dispositivo físico)npm npm
@onekeyfe/hd-transport-httpTransporte mediante puente HTTPnpm npm
@onekeyfe/hd-transport-lowlevelContrato del adaptador de host de bajo nivel (para integraciones nativas)npm npm
@onekeyfe/hd-coreEventos, constantes y conexión de mensajes de Corenpm npm
@onekeyfe/hd-sharedUtilidades y tipos compartidosnpm npm
@onekeyfe/hd-web-sdkWrapper del SDK web (no recomendado; prefiere hd-common-connect-sdk)npm npm

Más información

Soporte

Para usuarios: esta documentación está dirigida principalmente a desarrolladores. Si tienes problemas al usar nuestros productos, consulta el Centro de ayuda o envía una solicitud de soporte.


Pruébalo

Última actualización el