Uma implementação completa de um protocolo P2P escrito integralmente em JavaScript

Um protocolo P2P escrito em JavaScript

js-ipfs abre o caminho para a implementação do protocolo IPFS no navegador. Programado inteiramente em JavaScript, ele roda no browser, no Service Worker, em uma Extensão Web e em Node.js, abrindo caminhos para um mundo de possibilidades.

O js-ipfs roda no browser, no Service Worker, em uma Extensão Web e em Node.js, abrindo caminhos para um mundo de possibilidades.

Desativar Animação
A biblioteca js-ipfs ainda se encontra em modo Alfa.O código ainda não foi revisto por especialistas em segurança, e por isso não é recomendado que seja usado para salvar, compartilhar e/ou publicar informações sensíveis.

Características

Vem com todas as funcionalidades que você conhece e adora no IPFS. Esta implementação também traz alguns extras que são únicos para uma implementação no browser. É a caixa de ferramentas ideal para potencializar todas as suas aplicações DWeb.

Roda em Node.js e no Browser

js-ipfs funciona automaticamente em Node.js, Electron e em qualquer browser moderno. É também personalizável para que possa ser usado na sua plataforma favorita.

Implementa toda o Stack IPFS

Nenhuma funcionalidade foi deixada de lado. O js-ipfs não é um cliente leve, é uma implementação completa do protocolo IPFS.

Use PubSub para comunicar-se em tempo real com todos os outros pares

Os nós do IPFS criam topologias de rede baseadas nos tópicos de interesse para transmitir eventos em tempo real.

Adiciona e encontra arquivos em qualquer parte da rede IPFS

O IPFS foi projetado para usar todo o potencial do endereçamento de conteúdo, encontrando nós na rede que tenham os dados que você procura. Da mesma forma, você pode adicionar dados e outros nós que encontrar.

Usa a DAG API para atravessar qualquer estrutura de dados que seja ligada por hashes

IPFS usa o IPLD, isto é, "InterPlanetary Linked-Data", um modelo de dados que permite interagir com dados de muitas fontes, como por exemplo git, blockchains e muito mais.

libp2p incluída

libp2p é a stack de rede modular que foi criada para o IPFS e que agora você pode usar também diretamente na sua aplicação através do IPFS.

Executar como um processo independente

js-ipfs vem também com a opção de ser executado como um processo independente, para que você possa interagir através da API HTTP, que você já conhece do go-ipfs.

Crie endereços estáveis para dados em constante mudança

Ele vem com o IPNS, o Sistema Interplanetário de Nomes, uma forma de criar apontadores mutáveis (registros) para distribuir atualizações de uma forma autenticada e certificada.

Primeiros Passos

O IPFS lhe dá um endereço de conteúdo primário para todos os seus dados na DWeb. Você pode disponibilizar os dados para a rede ou buscar dados existentes através de seu CID, o Identificador de Conteúdo. Experimente-o abaixo ou explore nossos Tutoriais da ProtoSchool!

Adicionar dados ao IPFS

Resultado

Obtendo dados do IPFS

Usando JavaScript no Browser ou Node.js

Resultado

Usando a CLI

Usando o Gateway HTTP

https://ipfs.io/ipfs/
Saiba Mais

Service Worker Gateway

Transforme esta página num Portal IPFS completo sem mexer em nenhum servidor ou usar HTTP para obter conteúdo da rede IPFS! Sim, é isso mesmo, o Service Worker Gateway com js-ipfs consegue conectar-se à rede IPFS.

Ativar Service Worker

O que estão criando com ele

Todo o Internet Archive, mas descentralizado. Acesse mais de 40 milhões de itens do arquivo através da DWeb. Une um portal de seeding do conteúdo e uma UI escrita em JavaScript para Firefox e Chrome.

Project Preview

O que você pode fazer com JS-IPFS

Existem múltiplas formas de usar o js-ipfs. Os exemplos seguintes dão uma boa ideia daquilo que você pode fazer com o js-ipfs. Experimente-os!

Stream Video through IPFS
Upload and send files

Você tem alguma sugestão?Compartilhe-as aqui!

Publicações e Palestras

Acompanhe as atualizações do projeto, demonstrações e outras palestras da comunidade IPFS no projeto de IPFS em JavaScript. Brevemente iremos adicionar dezenas de novas palestras dos encontros de desenvolvedores do IPFS.

IPFS on the Brave Browser, Alan Shaw

CRDTs as the foundation for Distributed Web Apps, Pedro Teixeira

A Regular JS Core Dev Call, join us!

Comunidade

O js-ipfs é um projeto com Licença MIT, de código aberto, da comunidade IPFS. Há muitas maneiras de contribuir: ajude a escrever as especificações, implementações de código e ferramentas usando js-ipfs, crie exemplos e tutoriais, e junte-se aos nossos encontros do grupo de trabalho para discutir o IPFS conosco.

Divirta-se connosco!