Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peer-base/peer-base
Build real-time collaborative DApps on top of IPFS
https://github.com/peer-base/peer-base
collaboration crdt decentralized delta-crdts ipfs peer peer-star
Last synced: 1 day ago
JSON representation
Build real-time collaborative DApps on top of IPFS
- Host: GitHub
- URL: https://github.com/peer-base/peer-base
- Owner: peer-base
- License: mit
- Created: 2018-06-04T07:57:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-29T18:12:25.000Z (over 4 years ago)
- Last Synced: 2024-12-13T02:40:28.051Z (10 days ago)
- Topics: collaboration, crdt, decentralized, delta-crdts, ipfs, peer, peer-star
- Language: JavaScript
- Homepage:
- Size: 6.13 MB
- Stars: 228
- Watchers: 12
- Forks: 22
- Open Issues: 93
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# peer-base
Build real-time collaborative DApps on top of IPFS
[![Build Status](https://travis-ci.org/peer-base/peer-base.svg?branch=master)](https://travis-ci.org/peer-base/peer-base) [![Greenkeeper badge](https://badges.greenkeeper.io/peer-base/peer-base.svg)](https://greenkeeper.io/) [![made by Protocol Labs](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](https://protocol.ai)
* [Example app](examples/react-app)
* [How to run the example app](#run-example-app)# Documentation
* [Code structure](https://github.com/peer-base/peer-base/blob/master/docs/CODE-STRUCTURE.md)
* [Protocol](https://github.com/peer-base/peer-base/blob/master/docs/PROTOCOL.md)
* [Performance tests](https://github.com/peer-base/peer-base/blob/master/docs/PERFORMANCE-TESTS.md)
* [Membership Simulator](https://github.com/peer-base/peer-base/blob/master/docs/MEMBERSHIP-SIM.md)## Install
```bash
$ npm install peer-base
```## Import
```js
const PeerBase = require('peer-base')
```# API
[API docs](docs/API.md)
# Run example app
Clone this repo.
```bash
$ cd peer-base
$ cd examples/react-app
$ npm install
```In a different window, on the same dir, start the rendezvous server:
```bash
$ npm run start:rv
```In a different window, on the same dir, run the app server:
```bash
$ npm start
```Open [http://localhost:3000](http://localhost:3000) and test the app.
# Tests
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
```# Infrastructure
The infrastructure for peer-base and related applications is managed via
https://github.com/peer-base/peer-base/# Debug
You can activate the debugging logs by manipulating the `DEBUG` environment variable. Example:
```bash
$ DEBUG=peer-star:* npm test
```For file-specific `DEBUG` values, see the source code and look for usages of the `debug` package.
## Lead Maintainer
[Jim Pick](https://github.com/jimpick)
# Contribute
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](https://github.com/peer-base/peer-base/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?
[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)
# License
MIT