Skip to Content
Signature par QR codeVue d’ensemble

Air-Gap (signature QR hors ligne)

Créez une boucle de signature où l’appareil reste hors ligne, à l’aide de QR codes encodés au format UR.

Fonctionnement

  1. Construire la demande : Créer les données UR d’une demande de signature (par chaîne), puis les afficher sous forme d’images QR animées
  2. Scan par l’appareil : L’appareil scanne le QR code, vérifie les détails à l’écran et signe hors ligne
  3. Obtenir la signature : L’appareil affiche l’UR de signature sous forme de QR code animé
  4. Diffusion : L’application scanne la réponse, la vérifie et la diffuse via votre réseau

Démarrage rapide par chaîne

ChaîneType de requête (application → appareil)Type de réponse (appareil → application)
Ethereum et EVMeth-sign-requesteth-signature
Bitcoin (PSBT)crypto-psbtcrypto-psbt
Solanasol-sign-requestsol-signature
Trontron-sign-requesttron-signature

Types d’export de compte (appareil → application)

Ces types UR sont utilisés lorsque l’appareil exporte les informations de compte vers l’application lors de la configuration initiale :

Type URDescription
crypto-hdkeyExport d’une clé HD unique (BCR-2020-007 )
crypto-multi-accountsExport d’un ensemble de comptes multichaînes

Référence de l’API

  • API de base – Types UR fondamentaux : CryptoHDKey, CryptoCoinInfo, CryptoKeypath

Paquets

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

Intégration dans un portefeuille tiers

Si vous intégrez OneKey Air-Gap à un portefeuille existant, assurez-vous que votre scanner QR transmet ces types UR à un Décodeur BC-UR v2 (avec codage fontaine), et non à un ancien décodeur v1.

Types UR que votre scanner doit accepter

SensType URQuand
Appareil → applicationcrypto-psbtPSBT BTC signée
Appareil → applicationcrypto-hdkeyExport de clé HD à la connexion
Appareil → applicationcrypto-multi-accountsExport multicomptes à la connexion
Appareil → applicationeth-signatureRéponse de signature ETH
Appareil → applicationsol-signatureTransaction SOL signée
Appareil → applicationbtc-signatureSignature BTC (hors PSBT)
Application → appareileth-sign-requestDemande de signature ETH
Application → appareilsol-sign-requestDemande de signature SOL
Application → appareilcrypto-psbtPSBT BTC non signée
Appareil → applicationtron-signatureRéponse de signature TRON
Application → appareiltron-sign-requestDemande de signature TRON

Piège courant : orientation des types UR

Certains portefeuilles utilisent une liste d’autorisation pour déterminer quels types UR sont décodés par le décodeur moderne BC-UR v2 (codes fontaine via @ngraveio/bc-ur). Les types absents de la liste d’autorisation peuvent être transmis à un ancien décodeur v1 qui utilise un encodage complètement différent, ce qui bloque le scanner.

Si votre scanner affiche « veuillez continuer à scanner » sans jamais terminer, vérifiez que le type UR figure dans votre liste d’autorisation v2.

onekey-app-call-device (protocole privé)

Le type UR onekey-app-call-device est un protocole interne à OneKey utilisé pour les opérations de gestion de l’appareil (par exemple, getMultiAccounts, verifyAddress). Les portefeuilles tiers ne doivent PAS implémenter ce type — il peut changer sans préavis. Utilisez plutôt les méthodes standard du Keystone SDK.

Démonstration et exemples

Remarque : Air-Gap fonctionne hors ligne par conception. Il n’existe aucun environnement de test en ligne dans un navigateur.

Dernière mise à jour le