Skip to Content
HardwareAPI básicaBuscar dispositivos
En esta página

Buscar dispositivos

Detecta candidatos de conexión. searchDevices() devuelve un objeto de resultado; la lista de dispositivos está en payload solo cuando success es true.

La detección no demuestra que un dispositivo esté inicializado ni que su cartera esté desbloqueada. La detección BLE puede devolver un nombre anunciado y un identificador de conexión antes de que exista una conexión. La detección USB también puede devolver un descriptor sin campos de identidad inicializados.

Método

const result = await HardwareSDK.searchDevices(); if (!result.success) throw new Error(result.payload.error); if (!result.payload.length) throw new Error('No OneKey device found'); // For this example, select the only connected device. // In an app, ask the user to choose when multiple devices are present. if (result.payload.length !== 1) throw new Error('Select a device before continuing'); const { connectId } = result.payload[0]; if (!connectId) throw new Error('Device connection is unavailable'); const state = await HardwareSDK.getDeviceState(connectId); if (!state.success) throw new Error(state.payload.error); const deviceId = state.payload.identity.deviceId; if (!deviceId) throw new Error('Device has no wallet identity');

La autorización WebUSB debe formar parte de un flujo iniciado por el usuario. El escaneo BLE requiere los permisos Bluetooth de la plataforma. Consulta WebUSB o React Native BLE.

Parámetros

El objeto de parámetros es opcional. Consulta searchDevices (tipo) y Parámetros comunes de la versión del SDK instalada.

Campos del resultado

CampoTipoSignificado
connectIdstring | nullClave de enrutamiento del transporte. Pasa un valor distinto de null a las llamadas posteriores al dispositivo.
connectProtocol'V1' | 'V2' | undefinedDisponible tras una consulta activa del protocolo; no lo deduzcas del nombre anunciado.
serialNostring | null | undefinedNúmero de serie físico, cuando esté disponible tras la inicialización.
deviceIdstring | nullIdentidad vinculada a la duración de la semilla, cuando esté disponible; actualízala con getDeviceState.
uuidstringCampo de compatibilidad obsoleto. Puede estar vacío antes de la inicialización; usa preferentemente serialNo para la identidad física.
deviceTypeIDeviceTypeModelo detectado, o desconocido antes de la inicialización.
namestringNombre para mostrar; no es un identificador único.
commTypeOneKeyDeviceCommTypeTipo de comunicación indicado por el transporte.

La estructura pública exacta es SearchDevice. No dependas de otros campos internos, como path.

USB y BLE usan valores distintos de connectId para el mismo dispositivo físico. Vuelve a enumerar los dispositivos tras reconectar y actualiza el estado antes de reutilizar una vinculación de cartera. Consulta Identificadores.

Gestión de errores

En caso de error, payload contiene error y, opcionalmente, code. Gestiona el código en lugar de comparar el texto del error. Una lista vacía en un resultado correcto indica que no se encontraron candidatos; no es un fallo del SDK.

No registres la lista completa de dispositivos ni los objetos de dispositivo. Limita los diagnósticos al estado de la operación y a recuentos no sensibles.

Última actualización el