Skip to Content
HardwareÜbersicht

Einführung

Entwicklerorientierte Dokumentation zur Integration von OneKey-Hardware in Web- und native Apps.

Hardware-SDK 1.2.x unterstützt Protocol V1 und Protocol V2 über dieselbe JavaScript-API. Neu hier? Beginnen Sie mit Erste Schritte.

Diese Seite ist die Orientierung — wählen Sie das passende SDK-Paket für Ihre Plattform und installieren Sie es. Den vollständigen Ablauf (Suchen → Ereignisse → PIN/Passphrase → erster Signieraufruf) sowie Parameter, Ereignisse und Fehlerbehandlung finden Sie in der Core-API-Anleitung.

Transport auswählen

USB-Integrationen sollten @onekeyfe/hd-common-connect-sdk verwenden. Verwenden Sie @onekeyfe/hd-web-sdk nur, wenn der Host eine Iframe-/Plugin-Einrichtung voraussetzt.

Verbindungsmethoden

MethodeBeschreibungUnterstützte Geräte
USB / WebUSBKabelgebundenes USB; im Browser über WebUSB; in Node.js / CLI über node-usbGeräte mit kompatibler USB-Schnittstelle und Firmware
Bluetooth BLE (nativ)Native Apps über BLE (kein Web Bluetooth); benötigt Bluetooth-Unterstützung und Berechtigung des BetriebssystemsPro, Pro 2, Neo, Touch, Classic 1s / Classic 1s Pure; Mini unterstützt kein BLE
Air-Gap (QR)Offline-Signieren per QR-CodeOneKey Pro und Pro 2; Neo hat keine Kamera

Plattformanleitung

Plattform (Stack)TransportSDK-PaketAnleitung
Web (Browser)WebUSB@onekeyfe/hd-common-connect-sdk WebUSB-Verbindungsanleitung
React NativeBLE@onekeyfe/hd-ble-sdk React Native BLE
Android (nativ)BLE@onekeyfe/hd-common-connect-sdk Android BLE
iOS (nativ)BLE@onekeyfe/hd-common-connect-sdk iOS BLE
FlutterBLE@onekeyfe/hd-common-connect-sdk Flutter BLE

Protokoll auf niedriger Ebene und eigene Kanäle: Low-Level-Transport-Plugin & Protokoll

SDK installieren

Wählen Sie einen Einstieg nach Laufzeit:

# 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

Transportdetails:

SDK initialisieren

Verwenden Sie die zu Ihrer Laufzeit passende Initialisierungsmethode — mischen Sie keine SDK-Einstiege.

Web / Desktop-WebUSB

Verwenden Sie @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

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

Native Bridge / Low-Level

Verwenden Sie @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');
UmgebungAnwendungsfall
webusbBrowser-WebUSB (ohne Iframe)
lowlevelNative Apps, die JS über einen Low-Level-Adapter anbinden
react-nativeEigene RN-Bridge oder Electron BLE
emulatorIntegrierter Emulatortransport

Plugin-Iframe-Host

Verwenden Sie @onekeyfe/hd-web-sdk (nur Plugin). Der standardmäßige Iframe-Host des SDKs ist https://jssdk.onekey.so/<installed-package-version>/ aus getSDKVersion(). Lassen Sie connectSrc weg, sofern Sie den Iframe nicht selbst hosten.

Dieser Dokumentationsstand bezieht sich auf Hardware SDK 1.2.8-alpha.12. Der standardmäßige Iframe-Host ist https://jssdk.onekey.so/1.2.8-alpha.12/. Lassen Sie connectSrc weg, damit das SDK die installierte Paketversion verwendet. Überschreiben Sie es nur für einen selbst gehosteten Iframe und stimmen Sie es auf die installierte @onekeyfe/hd-web-sdk-Version ab.

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

Nächste Schritte

Nachdem HardwareSDK.init(...) zurückkehrt, folgen Sie Erste Schritte für die erste Adresse und dann der Core-API-Anleitung für den restlichen Ablauf:

Geräte- und Transportkompatibilität

Unterstützungsstatus für Bluetooth, USB, Air-Gap und Protokollfamilie

GerätProtokollBluetoothUSBAir-Gap
OneKey Classic 1s
OneKey Classic 1s
OneKey Classic 1s
V1UnterstütztUnterstütztNicht unterstützt
OneKey Classic 1s Pure
OneKey Classic 1s Pure
Edition ohne Akku
V1UnterstütztUnterstütztNicht unterstützt
OneKey Mini
OneKey Mini
Kompakte Wallet nur mit USB
V1Nicht unterstütztUnterstütztNicht unterstützt
OneKey Touch
OneKey Touch
Umfassende Touchscreen-Bedienung
V1UnterstütztUnterstütztNicht unterstützt
OneKey Pro
OneKey Pro
Premium mit Fingerabdruckschutz
V1UnterstütztUnterstütztUnterstützt
OneKey Pro 2
OneKey Pro 2
Professionelle Edition mit Protocol V2
V2UnterstütztUnterstütztUnterstützt
OneKey Neo
OneKey Neo
Kompakte Edition mit Protocol V2, ohne Kamera
V2UnterstütztUnterstütztNicht unterstützt

Air-Gap-Modus: OneKey Pro und Pro 2 unterstützen Air-Gap-Signieren per QR-Code — ohne USB- oder Bluetooth-Verbindung; Details werden vor dem Signieren auf dem Gerät geprüft. Siehe Air-Gap-Integration für Details.

Core-Pakete

PaketZweckNPMVersion
@onekeyfe/hd-common-connect-sdkEinheitliche SDK-Oberfläche für Web/Native; empfohlener Einstieg für Transportenpm npm
@onekeyfe/hd-ble-sdkReiner React-Native-BLE-Stack (für RN-Projekte empfohlen)npm npm
@onekeyfe/hd-transport-react-nativeReact-Native-Transport-Nebenwirkungen/Bridgenpm npm
@onekeyfe/hd-transport-web-deviceWebtransport für den Gerätezugriff in Webkontextennpm npm
@onekeyfe/hd-transport-emulatorEmulatortransport (ohne physisches Gerät entwickeln und testen)npm npm
@onekeyfe/hd-transport-httpHTTP-Bridge-Transportnpm npm
@onekeyfe/hd-transport-lowlevelSchnittstellenvertrag des Low-Level-Host-Adapters (für native Integrationen)npm npm
@onekeyfe/hd-coreCore-Ereignisse, Konstanten, Nachrichtenanbindungnpm npm
@onekeyfe/hd-sharedGemeinsame Hilfsfunktionen und Typennpm npm
@onekeyfe/hd-web-sdkWeb-SDK-Wrapper (nicht empfohlen; hd-common-connect-sdk bevorzugen)npm npm

Weiterführende Informationen

Support

Für Nutzer: Diese Dokumentation richtet sich hauptsächlich an Entwickler. Bei Problemen mit unseren Produkten besuchen Sie bitte unser Hilfe-Center oder reichen Sie ein Support-Ticket ein.


Ausprobieren

Zuletzt aktualisiert am