Integrationsleitfaden
Erfahren Sie, wie Sie OikosTV-Funktionen in Ihre eigenen Anwendungen integrieren, indem Sie unser offizielles SDK verwenden.
Das @crewvid/outpost-sdk
Unser SDK ist darauf ausgelegt, Entwicklern den Bau von Anwendungen zu erleichtern, die mit dem OikosTV-Peer-Netzwerk interagieren. Es übernimmt komplexe Aufgaben wie das Abrufen von Fragmenten, AES-Entschlüsselung und Belohnungsverfolgung automatisch.
Installation
npm install @crewvid/outpost-sdkBasisimplementierung
Initialisieren Sie den Client und hören Sie auf Ereignisse, um interaktive Erfahrungen zu erstellen.
import { CrewOutpostClient } from '@crewvid/outpost-sdk';
// Initialisieren Sie den Client mit Ihren Anmeldeinformationen und Speicherquote
const client = new CrewOutpostClient({
apiKey: 'your_api_key',
storageQuota: 50, // in GB
});
// Hören Sie auf Ereignisse, um Ihre Benutzeroberfläche zu aktualisieren oder Aktionen auszulösen
client.on('chunkServed', (data) => {
console.log(`Fragment erfolgreich bereitgestellt: ${data.chunkId}`);
});
client.on('rewardEarned', (amount) => {
console.log(`Sie haben ${amount} PeerCredits verdient!`);
});Kernfunktionen
Automatisiertes Fragmentabrufen
Das SDK verwaltet die komplexe Logik des Findens und Abrufens von Videofragmenten von mehreren Peers in der richtigen Reihenfolge und fällt auf B2-Speicher zurück, falls erforderlich.
Abrufpriorität:
- WebRTC für jeden Peer in Manifest-Reihenfolge versuchen
- Bei Fehler zum nächsten Peer wechseln
- Nach Erschöpfung aller Peers von der B2-Fallback-URL abrufen
- Erst dann Fehler ausgeben
Nahtlose Entschlüsselung
Die integrierte AES-256-GCM-Entschlüsselung stellt sicher, dass Inhalte sicher und performant auf der Grundlage der Web Crypto API entschlüsselt werden.
- Verwendet ausschließlich
crypto.subtle(kein Node.jscrypto) - Der Nonce wird aus den ersten 12 Bytes des Ciphertext extrahiert
- Entschlüsselte Daten werden niemals im Speicher persistiert
Best Practices
- Fehlerbehandlung: Behandeln Sie immer Netzwerkfehler und Peer-Trennungen elegant, um ein reibungsloses Nutzererlebnis zu gewährleisten
- Ressourcenverwaltung: Achten Sie auf die in Ihrer Client-Konfiguration festgelegte Speicherquote, um unerwartete Festplattennutzung zu vermeiden
- Sicherheit: Kodieren Sie API-Schlüssel oder sensible Anmeldeinformationen niemals direkt in Ihrem Frontend-Code; verwenden Sie sichere Umgebungsvariablen oder Backend-Proxys
- Session JWT: Das
sessionJWTdarf niemalslocalStorage,sessionStorage,IndexedDBoder Cookies berühren — halten Sie es nur im Speicher
Sicherheit
Verschlüsselungsschlüssel niemals außerhalb des Vaults protokollieren, zurückgeben oder persistieren. Dies gilt sowohl für Server-Code als auch für die Browser-SDK-Nutzung.