Guía de Integración
Aprende a integrar las características de OikosTV en tus propias aplicaciones usando nuestro SDK oficial.
El @crewvid/outpost-sdk
Nuestro SDK está diseñado para facilitar que los desarrolladores construyan aplicaciones que interactúen con la red peer de OikosTV. Maneja tareas complejas como la obtención de fragmentos, descifrado AES y seguimiento de recompensas automáticamente.
Instalación
npm install @crewvid/outpost-sdkImplementación Básica
Inicializa el cliente y escucha eventos para construir experiencias interactivas.
import { CrewOutpostClient } from '@crewvid/outpost-sdk';
// Inicializa el cliente con tus credenciales y cuota de almacenamiento
const client = new CrewOutpostClient({
apiKey: 'your_api_key',
storageQuota: 50, // en GB
});
// Escucha eventos para actualizar tu interfaz o activar acciones
client.on('chunkServed', (data) => {
console.log(`Fragmento servido exitosamente: ${data.chunkId}`);
});
client.on('rewardEarned', (amount) => {
console.log(`¡Ganaste ${amount} PeerCredits!`);
});Características Clave
Obtención Automatizada de Fragmentos
El SDK gestiona la lógica compleja de encontrar y obtener fragmentos de video de múltiples peers en orden, recurriendo al almacenamiento B2 si es necesario.
Prioridad de obtención:
- Intentar WebRTC para cada peer en el orden del manifest
- En caso de fallo, pasar al siguiente peer
- Después de agotar todos los peers, obtener desde la URL de respaldo B2
- Solo entonces emitir error
Descifrado Fluida
El descifrado AES-256-GCM integrado asegura que el contenido se descifre sobre la marcha de manera segura y eficiente usando la Web Crypto API.
- Usa
crypto.subtleexclusivamente (sin Node.jscrypto) - El nonce se extrae de los primeros 12 bytes del cifrado
- Los datos descifrados nunca se persisten en almacenamiento
Mejores Prácticas
- Manejo de Errores: Maneja siempre errores de red y desconexiones de peers de manera elegante para garantizar una experiencia de usuario fluida
- Gestión de Recursos: Ten presente la cuota de almacenamiento establecida en tu configuración del cliente para evitar un uso inesperado del disco
- Seguridad: Nunca codifiques claves API o credenciales sensibles directamente en tu código frontend; usa variables de entorno seguras o proxies backend
- Session JWT: El
sessionJWTnunca debe tocarlocalStorage,sessionStorage,IndexedDBni cookies — manténlo solo en memoria
Seguridad
Nunca registres, devuelvas o persistas claves de cifrado crudas fuera del vault. Esto aplica tanto al código del lado del servidor como al uso del SDK del navegador.