Uma implementação completa de um protocolo P2P escrito integralmente em JavaScript
Um protocolo P2P escrito em JavaScript
js-ipfs estabelece o caminho para a implementação do protocolo IPFS no Browser. Programado completamente em JavaScript, pode ser usado no Browser, num Service Worker, numa Web Extension e em Node.js, abrindo as portas para um mundo de possibilidades.
js-ipfs pode ser usado no Browser, num Service Worker, numa Web Extension e em Node.js, abrindo as portas para um mundo de possibilidades.
Características
Com todas as funcionalidades que conhece e adora sobre o IPFS. Esta implementação também carrega alguns extras que são únicos para uma implementação que funciona no browser. É a caixa de ferramenta ideal para todas as suas aplicações para a DWeb.
Corre em Node.js e no Browser
js-ipfs funciona automaticamente em Node.js, Electron e em qualquer browser moderno. É também personalizável de forma a que o possa usar na sua plataforma favorita.
Implementação completa da Stack IPFS
Nenhuma funcionalidade foi deixada de lado. O js-ipfs não é um light client, é uma implementação completa do protocolo IPFS.
Usa PubSub para comunicar em tempo real com todos os outros pares
Os nós do IPFS criam topologias de rede dedicadas à volta dos tópicos de interesse de forma a que os eventos sejam propagados em tempo real.
Providencia e/ou encontra ficheiros de qualquer parte da rede IPFS
IPFS foi desenhado para tirar proveito do endereçamento de conteúdo para encontrar nós na rede com os dados que procura. Da mesma forma, quaisquer dados adicionados também vão estar disponíveis a qualquer outro nó.
Usa a DAG API para atravessar qualquer estrutura de dados que seja ligada por hashes
IPFS usa o IPLD, a \"InterPlanetary Linked-Data\", um modelo de dados que permite interagir com dados de muitas fontes, como por exemplo git, blockchains entre outras.
libp2p incluída
libp2p é a stack de rede modular que foi criada para o IPFS e agora pode usar também diretamente na sua aplicação através do IPFS.
Executa como um processo independente
js-ipfs vem também com a opção de ser executado como um processo independente com o qual pode interagir através da API HTTP que já está familiarizado do go-ipfs.
Crie endereços estáveis para os dados em constante mudança
O IPNS, \"Interplanetary Naming System\", oferece uma forma de criar ponteiros mutáveis (registos) para propagar atualizações de uma forma certificada.
Iniciação
IPFS oferece-te uma primitiva de endereçamento baseada no seu conteúdo para todos os dados que possui na DWeb. Pode disponibilizar dados para a rede ou obter dados já disponibilizados através da CID (Content Identifier), o Identificador de Conteúdo. Experimente agora!
Adicionar dados ao IPFS
Resultado
Obter dados do IPFS
Usando JavaScript no Browser or Node.js
Resultado
Usando a CLI
Usando a Gateway de HTTP
https://ipfs.io/ipfs/Service Worker Gateway
Transforme esta página num Gateway de IPFS sem tocar em nenhum servidor ou usar HTTP para obter conteúdo da rede do IPFS. Sim, leu bem, o Service Worker Gateway com o js-ipfs conseguem conectar-se à rede do IPFS.
O que está a ser criado
O que pode construir com JS-IPFS
Existem múltiplas formas de utilizar o js-ipfs. Os exemplos seguintes dão uma boa ideia daquilo que pode construir com o js-ipfs. Experimente-os!
Tem alguma ideia nova e quer sugeri-la?Sugira aqui!
Publicações e Palestras
Veja as atualizações dos projetos, demonstrações e outras palestras da comunidade IPFS no projeto de IPFS em JavaScript. Brevemente iremos adicionar dezenas de novas palestras dos encontros de programadores do IPFS.

Comunidade
js-ipfs é um projeto de código-fonte aberto sob a licença MIT. Pode contribuir de várias formas: ajudar a escrever as especificações, implementar código e ferramentas usando libp2p, criar exemplos e tutoriais, e pode também juntar-se às nossas chamadas regulares para discutir connosco sobre o libp2p.