Skip to content

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

bash
npm install @crewvid/outpost-sdk

Basisimplementierung

Initialisieren Sie den Client und hören Sie auf Ereignisse, um interaktive Erfahrungen zu erstellen.

javascript
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:

  1. WebRTC für jeden Peer in Manifest-Reihenfolge versuchen
  2. Bei Fehler zum nächsten Peer wechseln
  3. Nach Erschöpfung aller Peers von der B2-Fallback-URL abrufen
  4. 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.js crypto)
  • 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 sessionJWT darf niemals localStorage, sessionStorage, IndexedDB oder 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.