Skip to Content
MatérielVue d’ensemble

Introduction

Documentation destinée aux développeurs pour intégrer le matériel OneKey dans des applications web et natives.

Hardware SDK 1.2.x prend en charge Protocol V1 et Protocol V2 via la même API JavaScript. Vous débutez ? Commencez par Premiers pas.

Cette page est une vue d’ensemble — choisissez le paquet SDK adapté à votre plateforme et installez-le. Pour le parcours complet (recherche → événements → PIN/phrase secrète → premier appel de signature), les paramètres, les événements et la gestion des erreurs, consultez le Guide de l’API Core.

Choisissez votre transport

Les intégrations USB doivent utiliser @onekeyfe/hd-common-connect-sdk ; utilisez @onekeyfe/hd-web-sdk uniquement lorsque l’hôte impose une configuration iframe/plugin.

Méthodes de connexion

MéthodeDescriptionAppareils pris en charge
USB / WebUSBUSB filaire ; navigateur via WebUSB ; Node.js / CLI via node-usbAppareils avec interface USB et micrologiciel compatibles
Bluetooth BLE (natif)Applications natives via BLE (pas Web Bluetooth) ; nécessite Bluetooth et les autorisations du systèmePro, Pro 2, Neo, Touch, Classic 1s / Classic 1s Pure ; Mini ne prend pas en charge BLE
Air-Gap (QR)Signature QR hors ligneOneKey Pro et Pro 2 ; Neo n’a pas de caméra

Guide des plateformes

Plateforme (pile)TransportPaquet SDKGuide
Web (navigateur)WebUSB@onekeyfe/hd-common-connect-sdk Guide de connexion WebUSB
React NativeBLE@onekeyfe/hd-ble-sdk BLE React Native
Android (natif)BLE@onekeyfe/hd-common-connect-sdk BLE Android
iOS (natif)BLE@onekeyfe/hd-common-connect-sdk BLE iOS
FlutterBLE@onekeyfe/hd-common-connect-sdk Flutter BLE

Protocole de bas niveau et canaux personnalisés : Plugin de transport de bas niveau et protocole

Installer le SDK

Choisissez un point d’entrée selon l’environnement d’exécution :

# 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

Détails du transport :

Initialiser le SDK

Utilisez la méthode d’initialisation correspondant à votre environnement — évitez de mélanger les points d’entrée SDK.

Web / ordinateur WebUSB

Utilisez @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');

BLE React Native

Utilisez @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');

Pont natif / bas niveau

Utilisez @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');
EnvironnementCas d’usage
webusbWebUSB de navigateur (sans iframe)
lowlevelApplications natives transmettant JS via un adaptateur de bas niveau
react-nativePont RN personnalisé ou BLE Electron
emulatorTransport d’émulateur intégré

Hôte iframe du plugin

Utilisez @onekeyfe/hd-web-sdk (plugin uniquement). L’hôte iframe par défaut du SDK est https://jssdk.onekey.so/<installed-package-version>/ depuis getSDKVersion(). Omettez connectSrc sauf si vous hébergez vous-même l’iframe.

Cette version de la documentation suit Hardware SDK 1.2.8-alpha.12. L’hôte iframe par défaut est https://jssdk.onekey.so/1.2.8-alpha.12/. Omettez connectSrc pour que le SDK utilise la version du paquet installé. Ne le remplacez que pour une iframe auto-hébergée, et faites-le correspondre à la version installée 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');

Étapes suivantes

Après le retour de HardwareSDK.init(...), suivez Premiers pas pour la première adresse, puis le Guide de l’API Core pour la suite du parcours :

Compatibilité des appareils et transports

Prise en charge de Bluetooth, USB, Air-Gap et famille de protocole

AppareilProtocoleBluetoothUSBAir-Gap
OneKey Classic 1s
OneKey Classic 1s
OneKey Classic 1s
V1Pris en chargePris en chargeNon pris en charge
OneKey Classic 1s Pure
OneKey Classic 1s Pure
Édition sans batterie
V1Pris en chargePris en chargeNon pris en charge
OneKey Mini
OneKey Mini
Portefeuille compact, USB uniquement
V1Non pris en chargePris en chargeNon pris en charge
OneKey Touch
OneKey Touch
Expérience entièrement tactile
V1Pris en chargePris en chargeNon pris en charge
OneKey Pro
OneKey Pro
Modèle haut de gamme avec sécurité par empreinte digitale
V1Pris en chargePris en chargePris en charge
OneKey Pro 2
OneKey Pro 2
Édition professionnelle Protocol V2
V2Pris en chargePris en chargePris en charge
OneKey Neo
OneKey Neo
Édition compacte Protocol V2, sans caméra
V2Pris en chargePris en chargeNon pris en charge

Mode Air-Gap : OneKey Pro et Pro 2 prennent en charge la signature isolée par QR codes — aucune connexion USB ou Bluetooth requise, avec vérification des détails sur l’appareil avant signature. Consultez Intégration Air-Gap pour plus de détails.

Paquets principaux

PaquetRôleNPMVersion
@onekeyfe/hd-common-connect-sdkInterface SDK unifiée pour Web/Natif ; point d’entrée recommandé pour les transportsnpm npm
@onekeyfe/hd-ble-sdkPile BLE React Native pure (recommandée pour les projets RN)npm npm
@onekeyfe/hd-transport-react-nativeEffets de bord/pont du transport React Nativenpm npm
@onekeyfe/hd-transport-web-deviceTransport web pour l’accès aux appareils dans les contextes webnpm npm
@onekeyfe/hd-transport-emulatorTransport d’émulateur (développer et tester sans appareil physique)npm npm
@onekeyfe/hd-transport-httpTransport de pont HTTPnpm npm
@onekeyfe/hd-transport-lowlevelContrat d’adaptateur hôte de bas niveau (pour les intégrations natives)npm npm
@onekeyfe/hd-coreÉvénements, constantes et transmission des messages Corenpm npm
@onekeyfe/hd-sharedUtilitaires et types partagésnpm npm
@onekeyfe/hd-web-sdkEnveloppe du SDK web (non recommandée ; privilégiez hd-common-connect-sdk)npm npm

Pour aller plus loin

Assistance

Pour les utilisateurs : cette documentation s’adresse principalement aux développeurs. Si vous rencontrez des problèmes avec nos produits, consultez notre centre d’aide ou soumettez une demande d’assistance.


Essayer

Dernière mise à jour le