Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dao-xyz/peerbit
P2P database framework with encryption, sharding and search
https://github.com/dao-xyz/peerbit
database distributed e2ee libp2p orbitdb peer-to-peer
Last synced: 6 days ago
JSON representation
P2P database framework with encryption, sharding and search
- Host: GitHub
- URL: https://github.com/dao-xyz/peerbit
- Owner: dao-xyz
- License: apache-2.0
- Created: 2022-04-25T14:23:54.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-02-07T15:49:00.000Z (14 days ago)
- Last Synced: 2025-02-08T14:02:58.328Z (13 days ago)
- Topics: database, distributed, e2ee, libp2p, orbitdb, peer-to-peer
- Language: TypeScript
- Homepage: https://peerbit.org
- Size: 47 MB
- Stars: 202
- Watchers: 9
- Forks: 15
- Open Issues: 71
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
![]()
Peerbit
Develop for a distributed web with PeerbitE2EE P2P Auto-sharding Searchable
Documentation - Examples - Chat on Matrix## A building block for the decentralized web
Peerbit is as easy-to-use as Firebase and provide P2P functionality like OrbitDB or GunJS yet with performance for data-intensive applications like live-streaming and cloud-gaming. It’s built on top of Libp2p (and works with IPFS) supporting encryption, sharding and discoverability (searching).
Your database schema can remain very simple but still utilize P2P networks, auto-scaling, E2E-encryption, discoverability and all other features you’d expect from a database.
## Optimized for performance
Peerbit is performant, so performant in fact you can use it for [streaming video](https://stream.dao.xyz) by having peers subscribing to database updates. In a low latency setting, you can achieve around 1000 replications a second and have a thoughput of 100 MB/s.

## Other examples
### [Chat room](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/one-chat-room/)
[
](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/one-chat-room/)
### [Lobby + chat rooms](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/many-chat-rooms/)
[
](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/many-chat-rooms/)
## [Blog platform](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/blog-platform/)
[
](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/blog-platform/)
### [Sync files](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/file-share/)
#### [React app](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/file-share/)
[
](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/file-share/)
#### [CLI](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/file-share/)
[
](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/file-share/)
### [Collaborative machine learning](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/collaborative-learning/)
[
](https://github.com/dao-xyz/peerbit-examples/tree/master/packages/collaborative-learning/)
## Get Started
1. Install Peerbit by following the simple setup instructions in our [Installation Guide](https://peerbit.org/#/getting-started).
2. Dive into our comprehensive [Documentation](https://peerbit.org/#/modules/client/) or checkout the [Example repository](https://github.com/dao-xyz/peerbit-examples) to explore the powerful features and learn how to leverage Peerbit to its fullest potential.
3. Join us on [Matrix](https://matrix.to/#/#peerbit:matrix.org) to connect, share ideas, and collaborate with like-minded individuals.
## Contribute
Peerbit is an open-source project, and we welcome contributions from developers like you! Feel free to contribute code, report issues, and submit feature requests. Together, let's shape the future of Peerbit.
IMPORTANT: Peerbit uses yarn.
1. Check yarn version: `yarn -v` should print something
2. Install: `yarn`
3. Build: `yarn build`
4. Run tests: `yarn test` in root in a specifc subpackageYou might possibly need to CMD + Shift + P and then enter to restart the typescript server after the build step.
To create a new package, follow the following steps:
1. Clone the time folder within /packages/utils/time to the desired destination and rename it
2. Update the package.json `name`, `description`, `version` fields
3. Possibly add other depencencies to the package.json `dependencies` field (like `@peerbit/crypto`)
4. Delete contents in CHANGELOG.md
5. Update the root package.json `workspaces` field
6. Update root lerna.json `workspaces` field
7. run yarn once in rootWe recommend running tests with the VS Code integration though: https://github.com/CoderLine/mocha-vscode
## Let's Get Coding!
[peerbit.org](https://peerbit.org)