An open API service indexing awesome lists of open source software.

https://github.com/eltorio/orbitdb-server

WIP: OrbitDB Express pinning server
https://github.com/eltorio/orbitdb-server

Last synced: 9 months ago
JSON representation

WIP: OrbitDB Express pinning server

Awesome Lists containing this project

README

          

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]





Logo

OrbitDB Server



W.I.P. : NOT WORKING (Yet !)
Pinnining/replication work



This is a proof of concept of a persistent OrbitDB Server.

The main idea is coming from orbit-db-pinner


Explore the docs »





·
Report Bug
·
Request Feature


Table of Contents



  1. About The Project



  2. Getting Started


  3. Usage

  4. Roadmap

  5. Contributing

  6. License

  7. Contact

  8. Acknowledgments

### Built With

* [Typescript](https://typescriptlang.org/)
* [Node.js](https://nodejs.org/)
* [OrbitDB](https://orbitdb.org/)
* [Express](https://expressjs.com/)

(back to top)

## About The Project

This is not a working server, this is a proof of concept for exploring OrbitDB in the browser.
Immediatly when you think about OrbitDB the problem of the persitence is comming.
In fact I have a static SPA application calling multiple SaaS services, and I need a communication beetween my connected users.
OrbitDB seems to be the perfect companion for that.
But what happens if no one is connected ?
The idea is to host this expressjs server on Heroku and ping from the SPA app…
Heroku will kill it after 30 min.

### Installation

1. Clone the repo
```sh
git clone https://github.com/eltorio/orbitdb-server.git
```
2. Install NPM packages
```sh
npm install
```
2. For TLS (optional)
```sh
#declare two variables each containing a single lined PEM
export TLS_KEY="-----BEGIN RSA PRIVATE KEY-----\nMI………………………………………=\n-----END RSA PRIVATE KEY-----\n"
export TLS_CERT="-----BEGIN CERTIFICATE-----\nMII…………………………………………==\n-----END CERTIFICATE-----\n"
```
3. Launch
```js
npm run dev;
```
4. Populate
```sh
curl http(s)://localhost:3000/pin?address=[SOME-orbitb-path]
curl http(s)://localhost:3000/start
curl http(s)://localhost:3000/peers

```

(back to top)

## Status

Currently server is working, OrbitDB bases are replicated. But WebRTCStar is not working.
So yet the best solution is to provide to browser clients the swarm address of the server in the bootstrap list.

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

(back to top)

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

(back to top)

## Contact

Project Link: [https://github.com/eltorio/orbitdb-server](https://github.com/eltorio/orbitdb-server)

(back to top)

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/eltorio/orbitdb-server.svg?style=for-the-badge
[contributors-url]: https://github.com/eltorio/orbitdb-server/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/eltorio/orbitdb-server.svg?style=for-the-badge
[forks-url]: https://github.com/eltorio/orbitdb-server/network/members
[stars-shield]: https://img.shields.io/github/stars/eltorio/orbitdb-server.svg?style=for-the-badge
[stars-url]: https://github.com/eltorio/orbitdb-server/stargazers
[issues-shield]: https://img.shields.io/github/issues/eltorio/orbitdb-server.svg?style=for-the-badge
[issues-url]: https://github.com/eltorio/orbitdb-server/issues
[license-shield]: https://img.shields.io/github/license/eltorio/orbitdb-server.svg?style=for-the-badge
[license-url]: https://github.com/eltorio/orbitdb-server/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/linkedin_username
[product-screenshot]: images/screenshot.png