Een volledig P2P protocol, geheel geschreven in JavaScript

Een P2P JavaScript protocol

js-ipfs maakt de browser uitvoering van het IPFS protocol mogelijk. Volledig in JavaScript geschreven, werkt in de browser, een Service Worker, Web Extension en Node.js en opent de deur naar een wereld van mogelijkheden.

js-ipfs werkt in de browser, een service worker, een web extensie en Node.js, de mogelijkheden zijn eindeloos.

Animatie deactiveren
De js-ipfs library bevindt zich in Alpha-status.De code is niet gecontroleerd door beveiligingsspecialisten en mag niet worden gebruikt voor het opslaan, delen of publiceren van gevoelige informatie.

Kenmerken

Boordevol met alles IPFS waar je van houdt. Deze implementatie bevat ook enkele extra's, uniek voor de browser. Het is de toolkit om al uw DWeb-applicaties waar te maken.

Draait op Node.js en de browser

js-ipfs werkt out of the box met Node.js, Electron en elke moderne browser. Het is aanpasbaar ontworpen zodat je het kan gebruiken in je favoriete omgeving.

Ondersteunt de volledige IPFS-stack

Geen enkele functie werd achtergelaten. js-ipfs is geen light versie, het is een volledige implementatie van het IPFS-protocol.

Gebruik PubSub om in realtime met de andere peers te communiceren

IPFS nodes kunnen een netwerk vormen rond topics om events in realtime te delen.

En bestanden ontvangen van gelijk waar in het IPFS netwerk

IPFS gebruikt de kracht van inhoud gebaseerde adressering om de nodes in het netwerkt te vinden met de inhoud die jij zoekt. Op dezelfde manier kan je informatie toevoegen zodat andere nodes deze kan vinden.

Gebruik de DAG API om elke hash-grafiek te doorzoeken

IPFS gebruikt IPLD, het InterPlanetary Linked-Data, een model om met gegevens uit meerdere bronnen te werken, zoals git, blockchains en meer.

libp2p is ingebouwd

libp2p is de modulaire networking stack die gemaakt werd voor IPFS en nu ook rechtstreeks gebruikt kan worden via IPFS.

Draai het als een achtergrondproces

js-ipfs kan als een achtergrondproces uitgevoerd worden. Zo kan je er mee communiceren met de bekende HTTP API van go-ipfs.

Maak stabiele adressen voor dynamische gegevens

Ondersteunt IPNS, het Interplanetary Naming System, een methode om, met authenticatie en certificatie, verwijzen (mutable pointers) te beheren om updates te kunnen verspreiden.

Aan de slag

IPFS biedt inhouds-adressering voor al uw gegevens op het DWeb. U kunt gegevens beschikbaar maken voor het netwerk of bestaande gegevens ophalen via het bijhorende CID, of Content Identifier. Probeer het hieronder!

Data toevoegen aan IPFS

const node = new IPFS()

const data = 'Hello, <YOUR NAME HERE>'

// once the node is ready
node.once('ready', () => {
  // convert your data to a Buffer and add it to IPFS
  node.files.add(node.types.Buffer.from(data), (err, files) => {
    if (err) return console.error(err)

    // 'hash', known as CID, is a string uniquely addressing the data
    // and can be used to get it again. 'files' is an array because
    // 'add' supports multiple additions, but we only added one entry
    console.log(files[0].hash)
  })
})

Uitvoer

Gegevens ophalen van IPFS

Met behulp van Javascript in de browser of Node.js

const node = new IPFS()

node.once('ready', () => {
  node.files.cat('QmPChd2hVbrJ6bfo3WBcTW4iZnpHm8TEzWkLHmLpXhF68A', (err, data) => {
    if (err) return console.error(err)

    // convert Buffer back to string
    console.log(data.toString())
  })
})

Uitvoer

Via de CLI

npm install ipfs -g
jsipfs cat QmPChd2hVbrJ6bfo3WBcTW4iZnpHm8TEzWkLHmLpXhF68A

Via de HTTP Gateway

https://ipfs.io/ipfs/QmPChd2hVbrJ6bfo3WBcTW4iZnpHm8TEzWkLHmLpXhF68A
Leer meer

Service Worker Gateway

Verander deze pagina in een volledige IPFS-gateway zodat je, zonder centrale servers of HTTP, rechtstreeks de inhoud van het IPFS-netwerk kan benaderen! Jawel, de Service Worker Gateway met js-ipfs kan rechtstreeks verbinding maken met het IPFS-netwerk.

Service Worker activeren

Wat bouwen mensen ermee

Paratii bouwt open source-technologie voor video-streaming en -beheer, met js-ipfs en Ethereum-contracten. The Portal is een web-app met gecureerde crypto-gerelateerde video's dat draait op IPFS.

Project Preview

Wat je kan bouwen met JS-IPFS

Je kan js-ipfs op oneindig veel manieren gebruiken. De volgende voorbeelden geven je een idee van wat je allemaal met js-ipfs kan bouwen. Probeer ze uit!

Browser Video Streaming
Exchange Files in Browser

Heb je ideeën die je wil delen?Doe het hier!

Publicaties & Talks

Bekijk projectupdates, demo's en andere presentaties van de IPFS-community over JS-IPFS. Binnenkort voegen we nog tientallen talks van de IPFS Dev Meetings toe.

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!

Community

js-ipfs is een MIT Licensed, Open Source-project van de IPFS-community. Er zijn veel manieren om een bijdrage te leveren: schrijf mee aan de specificaties, schrijf apps en tools die gebruik maken van libp2p, maak handleidingen en tutorials, en doe mee aan onze reguliere calls waarin we libp2p bespreken.