En komplet P2P protokol skrevet udelukkende i Javascript

En P2P JavaScript protokol

js-ipfs baner vejen for en browser-implementation af IPFS protokollen. Skrevet udelukkende i JavaScript og kørende fra en browser, en Service Worker, en brower-udvidelse og Node.js, hvilket åbner en verden af muligheder.

js-ipfs kører i en Browser, en Service Worker, en Web-udvidelse og Node.js, og åbner derved en verden af muligheder.

Deaktiver animation
Js-ipfs biblioteket er på alfa-stadietKodebasen har ikke gennemgået en sikkerheds-gennemgang af sikkerheds-specialister og bør ikke benyttes til at gemme, dele eller offentliggøre følsomme oplysninger.

Funktionalitet

Pakket med alt du kender og elsker fra IPFS. Denne implementering indeholder også nogle ekstra gode ting som er unikke for brug i en browser. Det er en værktøjs-kasse til at bygge alle dine DWeb applikationer.

Kør på Node.js og i browseren

js-ipfs fungerer ud af boksen på Node.js, Electron og i enhver moderne browser. Samtidig er det designet med fleksibilitet, på en sådan vis, at det kan tilpasses dit foretrukne afviklingsmiljø.

Implementerer den fulde IPFS-stack

Ingen funktion blev udeladt. js-ipfs er ikke en letvægtsklient, det er en komplet implementering af IPFS protokollen.

Anvend PubSub for at kommunikere live med andre klienter.

IPFS klienter kan skabe netværkstopologier, baseret på udvalgte emner, der bredt kan distribuere hændelser live.

Send og modtag filer fra ethvert sted i IPFS netværket.

IPFS benytter indholds- og process-adressering for at finde og modtage indhold fra andre klienter i netværket. Dette betyder at al data som du tilføjer vil andre klienter kunne tilgå.

Anvend DAG-API'et for at gennemløbe over enhver hash-bunden data-struktur.

IPFS benytter IPLD, for tvær-planetariske data-forbundethed, en model som muliggør interaktioner med data på tværs af forskellige kilder, som f.eks. git, blockchians mv.

libp2p er indbygget

libp2p er Den Modulære Netværks Stack som blev skabt til IPFS, og som du også kan benytte gennem IPFS direkte i din applikation.

Kør som en baggrunds-process

js-ipfs kommer også med mulighed for at køre som en baggrunds-process, sådan at du kan interagere med den via HTTP-API'et, som du kender det fra go-ipfs.

Opret stabile adresser for at skiftende data

Det leveres med IPNS, det tvær-planetariske navngivningssystem, som er en måde til at skabe foranderlige henvisninger (til elementer), sådan at man kan distribuere opdateringer på en valideret vis.

Kom i gang

IPFS giver dig en grundsten for indholds-adressering til alle dine data på DWeb. Du kan gøre data tilgængelig for netværket eller hente eksisterende data gennem dets CID, dets indholdsidentifikation. Prøv det nedenfor.

Tilføjelse af data til 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)
  })
})

Resultat

Hente data fra IPFS

Anvendelse af Javascript i browseren eller 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())
  })
})

Resultat

Anvendelse af kommandolinjen

npm install ipfs -g
jsipfs cat QmPChd2hVbrJ6bfo3WBcTW4iZnpHm8TEzWkLHmLpXhF68A

Anvendelse af HTTP gateway'en

https://ipfs.io/ipfs/QmPChd2hVbrJ6bfo3WBcTW4iZnpHm8TEzWkLHmLpXhF68A
Lær mere

Service Worker Gateway

Omdan denne side til en fuld IPFS Gateway uden a røre servere eller at benytte HTTP til at downloade indhold fra IPFS netværket! Ja, du læste rigtigt, Server Worker Gateway med js-ipfs kan forbinde direkte til IPFS netværket.

Aktivere Service Worker

Hvad andre bygger med det

Paratii bygger open source teknologi for video streaming og kuratering, med js-ipfs og Ethererum kontrakter. Portalen er en web applikation med kurateret krypto-relaterede videoer som afvikles på IPFS.

Project Preview

Publikationer & foredrag

Følg projekt opdateringer, demoer og andre foredrag af IPFS fællesskabet for Javascript projektet under IPFS. Vi vil snart tilføje flere foredrag fra IPFS udviklingsmøder.

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!

Fællesskab

js-ipfs er et MIT-licenseret, Open Source projekt fra IPFS fællesskabet. Der er mange måder hvorpå du kan bidrage: hjælp med at skrive specifikationer, kode-implementeringer og værktøjer der benytter libp2p, skab eksempler og læringsmateriale, og tilslut dig vores faste produkt snakke for at drøfte libp2p med os.