Build real-time collaborative DApps on top of IPFS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin chore: peer-star-app => peer-base Dec 11, 2018
docs chore: peer-star-app => peer-base Dec 11, 2018
examples/react-app fix(package): update react-scripts to version 2.1.2 Dec 25, 2018
sim feat: speed up membership convergence Jan 25, 2019
src fix: dont sent empty clock diff Feb 3, 2019
test chore: makes linter happier Feb 1, 2019
.aegir.js tests: using aegir Jun 25, 2018
.gitignore chore: fix example app Oct 16, 2018
.travis.yml Add post-deploy test for pinners (#184) Dec 3, 2018 adds some documentation for API and example app Jun 26, 2018
LICENSE first commit Jun 4, 2018
Procfile Change worker > web to enable http responses (#172) Dec 1, 2018 chore: peer-star-app => peer-base Dec 11, 2018
greenkeeper.json chore: add Greenkeeper config file Oct 12, 2018


Build real-time collaborative DApps on top of IPFS

Build Status Greenkeeper badge made by Protocol Labs



$ npm install peer-base


const PeerBase = require('peer-base')


API docs

Run example app

Clone this repo.

$ cd peer-base
$ cd examples/react-app
$ npm install

In a different window, on the same dir, start the rendezvous server:

$ npm run start:rv

In a different window, on the same dir, run the app server:

$ npm start

Open http://localhost:3000 and test the app.


Clone this repo and run:

$ npm install
$ npm test

Testing a deployed pinner

If you want to make sure your deployed pinner is working correctly, there is a utility-test that you can run with npm run test:post-deploy that will ensure your deployed pinner works correctly.

First you need to export environment variables to ensure the assertion values are correct for your environment, then you can run the test. Example:

export PEER_BASE_APP_NAME=peer-pad/2
export PEER_BASE_SWARM_ADDRESS=/dns4/localhost/tcp/9090/ws/p2p-websocket-star
export PEER_BASE_PINNER_ID=Qmb9WDZUnUzEmZwkbMMGi4cV65F1sqcQa49dfZy9baRBJo
npm run test:post-deploy


The infrastructure for peer-base and related applications is managed via


You can activate the debugging logs by manipulating the DEBUG environment variable. Example:

$ DEBUG=peer-star:* npm test

For file-specific DEBUG values, see the source code and look for usages of the debug package.


Peer-base and the IPFS implementation in JavaScript is a work in progress. As such, there's a few things you can do right now to help out:

  • Check out existing issues. This would be especially useful for modules in active development. Some knowledge of IPFS may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.
  • Perform code reviews. More eyes will help (a) speed the project along, (b) ensure quality, and (c) reduce possible future bugs.
  • Add tests. There can never be enough tests.

Want to hack on peer-base?