Skip to Content
Signieren per QR-CodeÜbersicht

Air-Gap (Offline-Signieren per QR-Code)

Einen Signierablauf mit UR-kodierten QR-Codes erstellen, bei dem das Gerät offline bleibt.

Funktionsweise

  1. Anfrage erstellen: Eine UR-Nutzlast für die Signieranfrage erstellen (je Chain) und als animierte QR-Frames darstellen
  2. Gerät scannt: Das Gerät scannt den QR-Code, zeigt Details zur Prüfung auf dem Bildschirm und signiert offline
  3. Signatur abrufen: Das Gerät zeigt die Signatur-UR als animierten QR-Code an
  4. Übertragen: Die App scannt die Antwort, prüft sie und überträgt sie über Ihr Netzwerk

Schnellstart nach Chain

ChainAnfragetyp (App → Gerät)Antworttyp (Gerät → App)
Ethereum & EVMeth-sign-requesteth-signature
Bitcoin (PSBT)crypto-psbtcrypto-psbt
Solanasol-sign-requestsol-signature
Trontron-sign-requesttron-signature

Kontoexporttypen (Gerät → App)

Diese UR-Typen werden verwendet, wenn das Gerät bei der Ersteinrichtung Kontoinformationen an die App exportiert:

UR-TypBeschreibung
crypto-hdkeyExport eines einzelnen HD-Schlüssels (BCR-2020-007 )
crypto-multi-accountsExport eines chainübergreifenden Kontopakets

API-Referenz

  • Basis-API – Grundlegende UR-Typen: CryptoHDKey, CryptoCoinInfo, CryptoKeypath

Pakete

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

Integration in Drittanbieter-Wallets

Wenn Sie OneKey Air-Gap in eine bestehende Wallet integrieren, müssen Sie sicherstellen, dass Ihr QR-Scanner diese UR-Typen an einen BC-UR-v2-Decoder (mit Fountain-Codierung) weiterleitet, nicht an einen älteren v1-Decoder.

UR-Typen, die Ihr Scanner akzeptieren muss

RichtungUR-TypWann
Gerät → Appcrypto-psbtSignierte BTC-PSBT
Gerät → Appcrypto-hdkeyHD-Schlüsselexport beim Verbinden
Gerät → Appcrypto-multi-accountsExport mehrerer Konten beim Verbinden
Gerät → Appeth-signatureETH-Signaturantwort
Gerät → Appsol-signatureSignierte SOL-Transaktion
Gerät → Appbtc-signatureBTC-Signatur (ohne PSBT)
App → Geräteth-sign-requestETH-Signieranfrage
App → Gerätsol-sign-requestSOL-Signieranfrage
App → Gerätcrypto-psbtUnsignierte BTC-PSBT
Gerät → Apptron-signatureTRON-Signaturantwort
App → Gerättron-sign-requestTRON-Signieranfrage

Häufiger Fehler: UR-Typ-Zuordnung

Einige Wallets verwenden eine Positivliste, um festzulegen, welche UR-Typen mit dem modernen BC-UR-v2-Decoder dekodiert werden (Fountain-Codes über @ngraveio/bc-ur). Typen, die nicht in der Positivliste stehen, werden möglicherweise an einen älteren v1-Decoder weitergereicht, der ein völlig anderes Kodierungsschema verwendet und dadurch den Scanner blockiert.

Wenn Ihr Scanner „Bitte weiter scannen“ anzeigt, aber nie fertig wird, prüfen Sie, ob der UR-Typ in Ihrer v2-Positivliste steht.

onekey-app-call-device (privates Protokoll)

Der UR-Typ onekey-app-call-device ist ein OneKey-internes Protokoll für Vorgänge zur Geräteverwaltung (z. B. getMultiAccounts, verifyAddress). Drittanbieter-Wallets sollten diesen Typ NICHT implementieren — er kann sich ohne Vorankündigung ändern. Verwenden Sie stattdessen die standardmäßigen Keystone-SDK-Methoden.

Demo & Beispiele

Hinweis: Air-Gap ist grundsätzlich offline. Es gibt keine Online-Testumgebung im Browser.

Zuletzt aktualisiert am