/orbit-web

Orbit Web Application

Primary LanguageJavaScriptMIT LicenseMIT

orbit-web

Project Status

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

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

NOTE! Orbit is still more or less experimental. It means Orbit is currently not secure, APIs will change and builds can break over the coming months. If you come across problems, it would help greatly to open issues so that we can fix them as quickly as possible.

If you prefer a stand-alone Desktop application, see orbit-electron

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.
  • IPFS - IPFS

From Source Code

Get the source code:

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

Start the application:

make start

Development

Run

First, get the source code and install dependencies:

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

Then start the development environment:

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

Release

make build

or

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.

To test the release build, run:

npm start

And open http://localhost:8081/index.html in your browser.

Debug

Debug build is a non-minified build and produces source maps for debugging

npm run build:debug

Distribution Package

make dist

or

npm run dist

This script will add dist/ to IPFS and the last hash in the output is a distributable directory in IPFS.

Publish

This automatically opens an issue in ipfs/ops-requests with the hash of the build. You will need to have a GitHub basic authentication token called $NODE_GITHUB_ISSUE_BOT with repos scope enabled in order for this to work.

make publish

Clean

make clean