js-libp2p VS orbitdb

Compare js-libp2p vs orbitdb and see what are their differences.

js-libp2p

The JavaScript Implementation of libp2p networking stack. (by libp2p)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
js-libp2p orbitdb
4 32
2,229 8,114
1.7% 0.9%
9.7 9.3
3 days ago 7 days ago
TypeScript JavaScript
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

js-libp2p

Posts with mentions or reviews of js-libp2p. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-04-20.
  • js-libp2p 0.31 Released
    1 project | /r/libp2p | 30 Apr 2021
    You can check out the full release notes at https://github.com/libp2p/js-libp2p/releases/tag/v0.31.0
  • Networking project ideas
    3 projects | /r/golang | 20 Apr 2021
    It might not be what you are looking for, but you could have a look and experiment with libp2p. Plenty of stuff to build with that.
  • ๐Ÿงจ Here's a first look at Anytype on Android. Native, self-hosted, offline-first, P2P syncing, private app
    1 project | /r/selfhosted | 19 Mar 2021
    It takes place through the libp2p networking stack we use.
  • Libp2p Peerstore Persistence
    1 project | /r/ipfs | 10 Mar 2021
    I am quite new to ipfs and peer to peer work. I am trying to build a simple app that leverages the P2P platform. I have an up and running nodejs libp2p node that can dial and connect with a second node on a separate test device. I am trying to save the second node to my primary node's peerstore. However I noticed that it is not persisted on restart. I followed the instructions here on configuring my node for peerstore persistence to the letter: https://github.com/libp2p/js-libp2p/blob/8e1fc78353cba194c86102dafcd68373b3f9a796/doc/CONFIGURATION.md#configuring-peerstore. However, when I set the secondary node again into my peerstore it still doesn't persist on restart. The setup above did create a mydb folder with log input however so it has definitely implemented a datastore. However I am not sure why my peerstore isn't saving to it.

orbitdb

Posts with mentions or reviews of orbitdb. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-11.
  • OrbitDB reaches version 1.0 after 8 years of development
    1 project | news.ycombinator.com | 19 Sep 2023
  • Open source P2P alternative to Slack and Discord built on Tor and IPFS
    18 projects | news.ycombinator.com | 11 Sep 2023
    OrbitDB is not well-funded, but there's fresh work happening recently by some dedicated volunteers: https://github.com/orbitdb/orbitdb/commits/main
  • Current Progress of IPFS
    3 projects | /r/ipfs | 22 Apr 2023
  • orbit-db VS db3 - a user suggested alternative
    2 projects | 15 Jan 2023
  • Jack Dorsey texts Elon Musk (March 26, 2022)
    6 projects | news.ycombinator.com | 30 Sep 2022
  • Decentralised public immutable database
    2 projects | /r/ipfs | 26 Sep 2022
  • Ask HN: Is there a descentralized DB with a simple social conflict resolution?
    1 project | news.ycombinator.com | 17 May 2022
    I've been thinking it might be practical to build a simple decentralized database, where agents just know each other, so conflict resolution does not need to be so strong and can rely on the social layer.

    I think this applies to most databases, but I'm particularly thinking of internal enterprise databases, some social networks, any federated database system, and different devices of a single user

    I'm thinking of this features:

    1- Append-only?, full history of operations. Deletes / edits do not remove data, they only modify the "active state"

    2- Agents are public keys or similar (DIDs?)

    3- Operations are signed, and receivers verify if operation is valid, and sender is allowed

    4- Operations form a Merkel-DAG (similar to git, they link to the tips of current "active state", like a commit/merge in git)

    So far I think I've basically described [OrbitDB](https://github.com/orbitdb/orbit-db)

    Consensus is where things get real hard, [OrbitDb seems to use a last-write-wins CRDT](https://news.ycombinator.com/item?id=22920204), and although I don't know the details of orbitDb, I think for many simple use-cases, conflicts can just be resolved on the social layer. But I think we need to provide agents with good tools to resolve conflicts

    I'll try my best here with some ideas:

    - When merging, we can order operations by their timestamp, if operations enter conflict, raise it to the conflicting agents, or someone with permission to solve them.

    If an agent makes public an operation that forks its own history, mark agent as malicious or compromised, alert other agents, this needs resolution on the social layer, you have proof of misconduct, an agent has signed diverging operations

    Any operation becomes fully settled if you have proof that all agents of your system have referenced it directly or indirectly through newer operations.

    Timestamps can be upgraded by using @opentimestamps to get proof that an operation existed at time X (prevents creation of operations in hindsight). Though this does not prove operation has been made public

  • How to make a crowdsourced distributed metadata database?
    2 projects | /r/AskProgramming | 12 May 2022
    Both use OrbitDB: Peer-to-Peer Databases for the Decentralized Web. JavaScript. MIT license. repo
  • Release: New features for Nalli
    2 projects | /r/nanocurrency | 3 May 2022
    I think a wallet-agnostic memo solution is definitely the way. Having wallets that end up (partly) incompatible is only gonna hurt the UX. Maybe a decentralised DB solution like OrbitDB or GunDB can be the best way forward, although I haven't dove deeply into the docs yet.
  • Building a decentralized database
    4 projects | /r/Database | 25 Mar 2022
    Checkout this https://github.com/orbitdb/orbit-db peer-to-peer database for the decentralized Web.

What are some alternatives?

When comparing js-libp2p and orbitdb you can also consider the following projects:

ipfs - IPFS implementation in JavaScript

ipfs - Peer-to-peer hypermedia protocol

web3.storage - DEPRECATED โ‚ The simple file storage service for IPFS & Filecoin

nodejs-httpp - Run HTTP over UDP with Node.js

gun - An open source cybersecurity protocol for syncing decentralized graph data.

ipfs-desktop - An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux.

berty - Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network

kcptun - A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64ใ€‚N:M ๅคš้‡ๅŒ–ใจ FEC ใ‚’ๅ‚™ใˆใŸ KCP ใซๅŸบใฅใๅฎ‰ๅฎšใ—ใŸๅฎ‰ๅ…จใชใƒˆใƒณใƒใƒซใ€‚ N:M ๋‹ค์ค‘ํ™” ๋ฐ FEC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” KCP ๊ธฐ๋ฐ˜์˜ ์•ˆ์ •์ ์ด๊ณ  ์•ˆ์ „ํ•œ ํ„ฐ๋„์ž…๋‹ˆ๋‹ค. Un tunnel stable et sรฉcurisรฉ basรฉ sur KCP avec multiplexage N:M et FEC.

solid - Solid - Re-decentralizing the web (project directory)

ipfs-backup - Backup encrypted files on ipfs

ipfs-chat - Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.