Documentación del SDK de DCID
Construya aplicaciones completas de identidad descentralizada con nuestro conjunto de SDK. La plataforma consta de dos SDK que trabajan juntos:
| SDK | Propósito | Lenguaje |
|---|---|---|
| **Frontend SDK** (`@dcid/sdk`) | Billetera de identidad del lado del cliente para React Native, extensiones y web | TypeScript |
| **Backend SDK** (`@dcid/server-sdk`) | API del lado del servidor para autenticación, credenciales y verificación | TypeScript, Python, Go, PHP |
Descripción General de la Arquitectura
Cómo Funcionan Juntos
- **Frontend SDK** se ejecuta en su aplicación orientada al usuario (aplicación móvil, extensión de navegador o aplicación web)
- **Backend SDK** se ejecuta en su servidor y maneja operaciones seguras
- El frontend se conecta a su backend a través de la configuración `apiUrl`
- Su backend utiliza el Backend SDK para comunicarse con la Plataforma DCID
Frontend SDK
El **Frontend SDK** (`@dcid/sdk`) es para construir billeteras de identidad del lado del cliente.
Soporte de Plataformas
| Plataforma | Seguridad | Caso de Uso | Ejemplo |
|---|---|---|---|
| **React Native** | Alta | Aplicaciones móviles de producción | react-native-app |
| **Browser Extension** | Alta | Billeteras de navegador de producción | browser-extension |
| **Web Application** | Baja | Solo desarrollo/pruebas | web-app |
Características Principales
- Creación y gestión de Identidad Descentralizada (DID)
- Almacenamiento y presentación de Credenciales Verificables
- Generación de Zero-Knowledge Proof
- Integración HSM para seguridad de claves
- Flujo de autenticación OTP
- Multiplataforma con API unificada
Backend SDK
El **Backend SDK** (`@dcid/server-sdk`) es para construir servidores que manejan operaciones de identidad.
Soporte de Lenguajes
| Lenguaje | Paquete | Estado |
|---|---|---|
| **TypeScript** | `@dcid/server-sdk` | Principal |
| **Python** | `dcid-server-sdk` | Soportado |
| **Go** | `github.com/gettrustid/dcid-backend-sdk/golang` | Soportado |
| **PHP** | `dcid/server-sdk` | Soportado |
Características Principales
- Autenticación OTP (correo electrónico/teléfono)
- Gestión de tokens JWT con actualización automática
- Emisión de credenciales (tipos SIG y MTP)
- Almacenamiento de credenciales en IPFS
- Verificación de Zero-Knowledge Proof
- Gestión de claves de encriptación (HSM)
Inicio Rápido
1. Configure Su Backend
// Install: npm install @dcid/server-sdk express
// server.ts
import { DCIDServerSDK } from '@dcid/server-sdk';
import express from 'express';
const sdk = new DCIDServerSDK({
apiKey: process.env.DCID_API_KEY,
environment: 'prod'
});
const app = express();
app.use(express.json());
// Auth endpoints for frontend
app.post('/auth/initiate', async (req, res) => {
const result = await sdk.auth.registerOTP({ email: req.body.email });
res.json(result);
});
app.post('/auth/confirm', async (req, res) => {
const result = await sdk.auth.confirmOTP({
email: req.body.email,
otp: req.body.code
});
res.json(result);
});
app.listen(3001, () => console.log('Server running on :3001'));2. Conecte Su Frontend
Próximos Pasos
Desarrollo Frontend
- Primeros Pasos con Frontend
- Instalación
- Guías de Plataforma (React Native, Extension, Web)
- Referencia de API
Desarrollo Backend
- Primeros Pasos con Backend
- Instalación
- Configuración del Servidor
- Referencia de API