Guia de Integração
Aprenda a integrar os recursos do OikosTV em seus próprios aplicativos usando nosso SDK oficial.
O @crewvid/outpost-sdk
Nosso SDK é projetado para facilitar que desenvolvedores construam aplicativos que interajam com a rede peer do OikosTV. Ele gerencia tarefas complexas como busca de fragmentos, descriptografia AES e rastreamento de recompensas automaticamente.
Instalação
npm install @crewvid/outpost-sdkImplementação Básica
Inicialize o cliente e ouça eventos para construir experiências interativas.
import { CrewOutpostClient } from '@crewvid/outpost-sdk';
// Inicialize o cliente com suas credenciais e cota de armazenamento
const client = new CrewOutpostClient({
apiKey: 'your_api_key',
storageQuota: 50, // em GB
});
// Ouça eventos para atualizar sua interface ou acionar ações
client.on('chunkServed', (data) => {
console.log(`Fragmento servido com sucesso: ${data.chunkId}`);
});
client.on('rewardEarned', (amount) => {
console.log(`Você ganhou ${amount} PeerCredits!`);
});Recursos Principais
Busca Automatizada de Fragmentos
O SDK gerencia a lógica complexa de encontrar e buscar fragmentos de vídeo de múltiplos peers em ordem, caindo de volta para o armazenamento B2 se necessário.
Prioridade de busca:
- Tentar WebRTC para cada peer na ordem do manifest
- Em caso de falha, passar para o próximo peer
- Após esgotar todos os peers, buscar da URL de fallback B2
- Somente então emitir erro
Descriptografia Fluida
A descriptografia AES-256-GCM integrada garante que o conteúdo seja descriptografado em tempo real de forma segura e eficiente usando a Web Crypto API.
- Usa
crypto.subtleexclusivamente (sem Node.jscrypto) - O nonce é extraído dos primeiros 12 bytes do ciphertext
- Dados descriptografados nunca são persistidos no armazenamento
Melhores Práticas
- Tratamento de Erros: Sempre trate erros de rede e desconexões de peers de forma elegante para garantir uma experiência de usuário fluida
- Gerenciamento de Recursos: Esteja atento à cota de armazenamento definida na configuração do seu cliente para evitar uso inesperado do disco
- Segurança: Nunca codifique chaves API ou credenciais sensíveis diretamente no seu código frontend; use variáveis de ambiente seguras ou proxies backend
- Session JWT: O
sessionJWTnunca deve tocarlocalStorage,sessionStorage,IndexedDBou cookies — mantenha-o apenas na memória
Segurança
Nunca registre, retorne ou persista chaves de criptografia brutas fora do vault. Isso se aplica tanto ao código do lado do servidor quanto ao uso do SDK do navegador.