React Native
La plataforma React Native proporciona el nivel más alto de seguridad para aplicaciones en producción que manejan datos sensibles de identidad.
Características de Seguridad
| Característica | Descripción |
|---|---|
| Claves Respaldadas por Hardware | Secure Enclave (iOS) / Keystore (Android) |
| Almacenamiento Aislado | Keychain (iOS) / EncryptedSharedPreferences (Android) |
| Sin Vector XSS | El código nativo no es vulnerable a ataques basados en web |
| Certificate Pinning | Previene ataques MITM en la comunicación con la API |
Instalación
1. Instalar Dependencias Principales
npm install @dcid/sdk @react-native-async-storage/async-storage react-native-keychain2. Instalar HSM Native SDK
npm install metakeep-react-native-sdk3. Configuración de iOS
El pod `metakeep-react-native-sdk` se enlaza automáticamente por React Native — no se necesita una entrada manual de `pod`.
4. Configuración de Android
Inicialización
Archivos de Circuito
La generación de pruebas de conocimiento cero requiere archivos de circuito. El SDK incluye los archivos de circuito con tu aplicación para un rendimiento óptimo y soporte sin conexión.
Prioridad de Carga:
- Almacenamiento MMKV — Circuitos en caché de cargas anteriores
- Assets incluidos — Archivos de circuito incluidos con tu app
El SDK utiliza MMKV para el almacenamiento en caché de circuitos de alto rendimiento en dispositivos móviles. Después de la primera carga, los circuitos se almacenan en MMKV para acceso instantáneo en generaciones de pruebas posteriores.
Ejemplo Completo de Integración
Patrón de React Hooks
Escaneo de Códigos QR
Integra con bibliotecas populares de escaneo QR:
Optimización de Rendimiento
Precarga de Circuitos
Precarga los circuitos durante el inicio de la aplicación para una generación de pruebas más rápida:
Rendimiento Nativo de Pruebas ZK
React Native utiliza rapidsnark nativo para la generación de pruebas ZK, proporcionando un rendimiento significativamente más rápido en comparación con WebAssembly en entornos de navegador.
Solución de Problemas
iOS: Siempre Abrir .xcworkspace
iOS: Errores de Archive en Xcode 26
Xcode 26 cambió la fase de escaneo de dependencias del sistema de compilación para ejecutarse antes de que los targets de pods hayan compilado sus productos. Si Archive falla con errores de module map not found o header not found:
Si tu Podfile incluye pods personalizados que usan module maps referenciados a través de PODS_CONFIGURATION_BUILD_DIR, es posible que necesites agregar un script_phase con :execution_position => :before_compile para copiar esos module maps antes de que se ejecute la fase de escaneo.
iOS: Símbolos Duplicados
Android ProGuard
-keep class com.metakeep.** { *; }
-keep class io.dcid.sdk.** { *; }Fallo en la Inicialización de HSM
Próximos Pasos
- Guía de Autenticación
- Gestión de Credenciales
- Referencia de API