Sur cette page
Obtenir l’état de l’appareil
Lisez l’instantané unifié V1 / V2 de l’appareil. Utilisez cette méthode à la place de l’ancienne getFeatures.
getFeatures() fonctionne encore uniquement sur Protocol V1. Pro 2 et Neo doivent appeler getDeviceState() et lire payload.identity.deviceId. Pour les champs de micrologiciel/version, utilisez scope: 'firmware' à la place de getOnekeyFeatures.
const res = await HardwareSDK.getDeviceState(connectId);Paramètres
Paramètres communs facultatifs
| Paramètre | Type | Obligatoire | Remarques |
|---|---|---|---|
scope | 'runtime' | 'settings' | 'firmware' | Non | Valeur par défaut : 'runtime'. Le périmètre choisit uniquement les sections actualisées par cette lecture ; les données renvoyées restent un instantané complet |
runtime— état courant du verrouillage / PIN / de la phrase secrète (V1GetFeatures, V2DeviceStatusGeten mode application)settings— actualise aussi les paramètresfirmware— actualise aussi l’identité, les versions et les informations de vérification
Le bootloader / romloader ignore les commandes d’état non prises en charge et renvoie l’instantané disponible.
Résultat
{
success: true,
payload: {
protocol: 'V1' | 'V2',
identity: {
deviceId: string | null, // seed lifetime — pass as the second SDK argument
serialNo: string,
deviceType: string,
// ...
},
status: { initialized, unlocked, passphraseProtection, attachToPinEnabled, ... },
settings: { language, airgapMode, ... },
versions: { firmware, bootloader, ble, applicationP1, applicationP2, ... },
}
}Lisez payload.identity.deviceId comme deuxième argument des appels de signature. Ne persistez pas le champ de micrologiciel session_id issu des Features de compatibilité.
Les données ne contiennent pas l’identifiant session_id du portefeuille dans le micrologiciel ni les messages de protocole bruts. L’identité du portefeuille provient de openWalletSession.
Erreur
{
success: false,
payload: {
error: string,
code?: string | number,
}
}Voir Protocol V1 et V2.