All Projects → orbitdb → orbit-core

orbitdb / orbit-core

Licence: MIT License
Orbit communication protocol and library

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to orbit-core

Orbit
A distributed, serverless, peer-to-peer chat application on IPFS
Stars: ✭ 1,586 (+2165.71%)
Mutual labels:  chat, orbit, ipfs, p2p
Orbit Web
Orbit Web Application
Stars: ✭ 215 (+207.14%)
Mutual labels:  chat, ipfs, p2p
Dino
Modern XMPP ("Jabber") Chat Client using GTK+/Vala
Stars: ✭ 1,637 (+2238.57%)
Mutual labels:  chat, p2p
go-multiverse
Decentralized Version Control System
Stars: ✭ 76 (+8.57%)
Mutual labels:  ipfs, p2p
viddist
[not functional] A completely decentralized alternative to e.g. YouTube
Stars: ✭ 22 (-68.57%)
Mutual labels:  ipfs, p2p
Cabal Client
interface for writing peer-to-peer distributed chat clients
Stars: ✭ 81 (+15.71%)
Mutual labels:  chat, p2p
Eiskaltdcpp
File sharing program using DC and ADC protocols
Stars: ✭ 277 (+295.71%)
Mutual labels:  chat, p2p
nicotine-plus
Graphical client for the Soulseek peer-to-peer network
Stars: ✭ 601 (+758.57%)
Mutual labels:  chat, p2p
Agregore Browser
A minimal browser for the distributed web
Stars: ✭ 229 (+227.14%)
Mutual labels:  ipfs, p2p
awesome-orbitdb
Useful resources for using OrbitDB and building projects on it
Stars: ✭ 87 (+24.29%)
Mutual labels:  ipfs, p2p
ipvpn
[WIP] Easy-to-use decentralized secure overlay private network (for any device)
Stars: ✭ 24 (-65.71%)
Mutual labels:  ipfs, p2p
example-orbitdb-todomvc
TodoMVC with OrbitDB
Stars: ✭ 17 (-75.71%)
Mutual labels:  ipfs, p2p
Gester
scuttlebutt chat ui
Stars: ✭ 24 (-65.71%)
Mutual labels:  chat, p2p
Cabal Desktop
Desktop client for Cabal, the p2p/decentralized/local-first chat platform.
Stars: ✭ 632 (+802.86%)
Mutual labels:  chat, p2p
js-http-client
[DEPRECATED] Official Textile JS HTTP Wrapper Client
Stars: ✭ 29 (-58.57%)
Mutual labels:  ipfs, p2p
pop
Run a point-of-presence within Myel, the community powered content delivery network.
Stars: ✭ 28 (-60%)
Mutual labels:  ipfs, p2p
Prototype Cjdns Pi
Prototype system for mesh networks on single board computers
Stars: ✭ 205 (+192.86%)
Mutual labels:  ipfs, p2p
Ipfs Pubsub Room
IPFS Pubsub room
Stars: ✭ 229 (+227.14%)
Mutual labels:  ipfs, p2p
field-manual
The Offical User's Guide to OrbitDB
Stars: ✭ 178 (+154.29%)
Mutual labels:  ipfs, p2p
meanOs
Mean Operating System - The first decentralized, artificially intelligent, MEAN.js stack, operating system. Mean OS is the only operating system hosted anonymous using a P2P network and a suite of non-standard in-browser delivery mechanisms. Mean OS proudly supports Brave and Tor, be free!
Stars: ✭ 62 (-11.43%)
Mutual labels:  ipfs, p2p

orbit-core

npm version CircleCI Status Gitter Matrix

Communication protocol on IPFS

Orbit is a serverless, distributed, p2p communication library and protocol that enables feed-based information sharing, such as real-time chat, in the IPFS peer-to-peer network.

This repository is the core library of Orbit. This library is intended to be used in your Node.js or Browser applications.

Used in the various Orbit projects:

Table of Contents

Install

This module uses npm and node.

npm install orbit_

Usage

See examples/browser/index.html for a more detailed example.

'use strict'

const Orbit = require('orbit_')

const ipfs = new Ipfs()

ipfs.on('ready', () => {
  const orbit = new Orbit(ipfs)

  const username = 'Example Bot'
  const channel = 'HelloWorld'

  orbit.events.on('connected', () => {
    console.log(`-!- Orbit connected`)
    orbit.join(channel)
  })

  orbit.events.on('joined', channelName => {
    orbit.send(channelName, '/me is now caching this channel')
    console.log(`-!- Joined #${channelName}`)
  })

  // Listen for new messages
  orbit.events.on('entry', (entry, channelName) => {
    const post = entry.payload.value
    console.log(`[${post.meta.ts}] <${post.meta.from.name}> ${post.content}`)
  })

  // Connect to Orbit network
  orbit.connect(username).catch(e => console.error(e))
})

API

See API documentation for full details.

Development

Install Dependencies

git clone https://github.com/orbitdb/orbit-core.git
cd orbit-core/
npm install

Run example development environment

npm run dev

Run Tests

npm test

Build Library and Distributables

npm run build

Distributable (ES5 minified for browsers) will be located in dist/.

Contribute

We would be happy to accept PRs! If you want to work on something, it'd be good to talk beforehand to make sure nobody else is working on it. You can reach us on Gitter, or in the issues section.

We also have regular community calls, which we announce in the issues in the @orbitdb welcome repository. Join us!

If you want to code but don't know where to start, check out the issues labelled "help wanted".

For specific guidelines for contributing to this repository, check out the Contributing guide. For more on contributing to OrbitDB in general, take a look at the @OrbitDB welcome repository. Please note that all interactions in @OrbitDB fall under our Code of Conduct.

License

MIT © 2016-2019 Protocol Labs Inc., Haja Networks Oy

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].