All Projects → ipfs → Js Dag Service

ipfs / Js Dag Service

Licence: other
Library for storing and replicating hash-linked data over the IPFS network.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Js Dag Service

Js Ipfs
IPFS implementation in JavaScript
Stars: ✭ 6,129 (+7466.67%)
Mutual labels:  p2p, ipfs, peer-to-peer, distributed, decentralized
Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+7777.78%)
Mutual labels:  p2p, ipfs, peer-to-peer, distributed, decentralized
field-manual
The Offical User's Guide to OrbitDB
Stars: ✭ 178 (+119.75%)
Mutual labels:  peer-to-peer, ipfs, decentralized, p2p, distributed
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (+103.7%)
Mutual labels:  p2p, ipfs, peer-to-peer, decentralized
Peergos
A p2p, secure file storage, social network and application protocol
Stars: ✭ 895 (+1004.94%)
Mutual labels:  p2p, ipfs, peer-to-peer, decentralized
Awesome Decentralized
🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
Stars: ✭ 358 (+341.98%)
Mutual labels:  p2p, ipfs, distributed, decentralized
pop
Run a point-of-presence within Myel, the community powered content delivery network.
Stars: ✭ 28 (-65.43%)
Mutual labels:  peer-to-peer, ipfs, decentralized, p2p
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (+122.22%)
Mutual labels:  p2p, ipfs, peer-to-peer, decentralized
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (+3.7%)
Mutual labels:  peer-to-peer, ipfs, decentralized, distributed
Rust Ipfs
The InterPlanetary File System (IPFS), implemented in Rust.
Stars: ✭ 739 (+812.35%)
Mutual labels:  p2p, ipfs, peer-to-peer, decentralized
awesome-orbitdb
Useful resources for using OrbitDB and building projects on it
Stars: ✭ 87 (+7.41%)
Mutual labels:  ipfs, decentralized, p2p
ipvpn
[WIP] Easy-to-use decentralized secure overlay private network (for any device)
Stars: ✭ 24 (-70.37%)
Mutual labels:  ipfs, decentralized, p2p
Layr
A decentralized (p2p) file storage system built atop Kademlia DHT that enforces data integrity, privacy, and availability through sharding, proofs of retrievability, redundancy, and encryption, with smart-contract powered incentive scheme
Stars: ✭ 90 (+11.11%)
Mutual labels:  peer-to-peer, decentralized, p2p
Ipfd
An imageboard, but images are stored in a peer-to-peer network
Stars: ✭ 77 (-4.94%)
Mutual labels:  ipfs, peer-to-peer, decentralized
ipns-link
Expose local http-server (web-app) through IPNS
Stars: ✭ 18 (-77.78%)
Mutual labels:  ipfs, decentralized, distributed
tensorpeers
p2p peer-to-peer training of tensorflow models
Stars: ✭ 57 (-29.63%)
Mutual labels:  peer-to-peer, p2p, distributed
Infinit
The Infinit policy-based software-defined storage platform.
Stars: ✭ 363 (+348.15%)
Mutual labels:  peer-to-peer, distributed, decentralized
Yjs
Shared data types for building collaborative software
Stars: ✭ 5,894 (+7176.54%)
Mutual labels:  p2p, peer-to-peer, decentralized
Decentralized Internet
A SDK/library for decentralized web and distributing computing projects
Stars: ✭ 406 (+401.23%)
Mutual labels:  p2p, peer-to-peer, decentralized
Spruce Network
Decentralized peer-to-peer mesh network.
Stars: ✭ 61 (-24.69%)
Mutual labels:  p2p, peer-to-peer, decentralized

DAGService

Chat on IRC Chat on Matrix GitHub package.json version npm (scoped) Release docs standard-readme compliant

DAGService is a library for storing and replicating hash-linked data over the IPFS network.

DAGService is aiming to be a bare minimum needed for IPLD-based applications to interact with the IPFS network by getting and putting blocks to it.

NOTE For now, this is a highly experimental library. Use with caution.

This project was originally developed under the @textileio organization, and was contributed to the IPFS community for ongoing maintenance and development.

Table of Contents

Background

The goal of DAGService to provied a minimal layer between data model of IPLD and full blown IPFS. It provides bare minimum functionality for any application to interact with the IPFS network (by getting and putting IPLD blocks) without having to deal with the complexities of operating a full IPFS node. It is an attempt to remake core piece of IPFS node reusable on it's own.

Why?

Because 99% of the time, a browser or mobile (d)App only needs to be able to add and get small bits of data over the IPFS network. This library provides that, in a much smaller package (currently less than 1/2 the size of js-ipfs without much optimization -- we will continue to optimize further). It is also highly extensible, so developers need only include the features they need, keeping load times fast, and (d)Apps feeling snappy. Additionally, Textile needed a Typescript-based IPFS solution, and we think others will find the type safety useful as well. Feel free to use the Typescript declarations in your own projects.

Install

npm install dag-service

Usage

import { Peer, BlockStore } from "dag-service"
// Use any interface-datastore compliant store
import { MemoryDatastore } from "interface-datastore"
import Libp2p from "libp2p"

const store = new BlockStore(new MemoryDatastore())

const main = async () => {
  // Bring your own libp2p host....
  const host = new Libp2p({ ...libp2Options })
  const lite = new Peer(store, host)

  await lite.start()

  const cid = "QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u"
  const data = await lite.getFile(cid)
  console.log(data.toString())
  // Hello World
  await lite.stop()
}

There are also several useful examples included in the tests of this repo, with tools for creating a default libp2p host exported by default. We've also thrown in some useful interfaces to use when building on IPFS Lite, as well as the Buffer API for use in the browser.

API

See https://ipfs.github.io/js-dag-service/

Maintainers

Contribute

Feel free to dive in! Open an issue or submit PRs.

To contribute to IPFS in general, see the contributing guide.

Project follows the IPFS Community Code of Conduct

License

The js-dag-service project is dual-licensed under Apache 2.0 and MIT terms:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].