Skip to content
This repository has been archived by the owner on Feb 1, 2024. It is now read-only.

orbitdb-archive/orbit-web

Repository files navigation

Orbit Web

Gitter Matrix CircleCI

A distributed, peer-to-peer chat application built on IPFS

Browser application for Orbit. Try it at https://orbit.chat.

Built with the following packages:

  • orbit-core - Core Orbit communication library.
  • js-ipfs - A new p2p hypermedia protocol for content-addressed storage.

See also:

  • orbit-db - Serverless, p2p database that orbit-core uses to store its data.
  • orbit-textui - Terminal client prototype for Orbit.
  • orbit-electron - Stand-alone desktop application for Orbit Chat built with Electron.
  • IPFS - IPFS

Development

This project uses npm and nodejs.

Run

Get the source code and install dependencies:

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

Start the application: npm run dev

Run will start a development server, open the app in the browser and watch for changes in the source files. Upon change, it'll automatically compile and reload the app in the browser

Build

npm run build

This produces a fully stand-alone build in dist/ which can be run from dist/index.html file or on a http-server.

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 comments of 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.

Deploying to a domain with IPFS

  1. Point the domain to some public IPFS gateway

    • TYPE: A
    • Name: @ (or a subdomain)
    • Value: < IP address of the gateway >
  2. npm run build

  3. Pin dist-folder to IPFS (upload the folder to some pinning service)

  4. Add or update the TXT entry of _dnslink subdomain in DNS records of the domain

    • TYPE: TXT
    • Name: _dnslink
    • Value: "dnslink=/ipfs/< hash from pinning service >"

License

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