#Harbor

8 messages · Page 1 of 1 (latest)

strong jolt
#

Harbor is a decentralized peer-to-peer communication protocol for offline-first apps. It lets your users communicate directly when they're online and keeps delivery working when they're not.

I recently moved to test net so it is possible to build apps with harbor core now. The latest state can be found here: https://github.com/RobinSrimal/harbor/tree/main

For a sample app you can check out: https://github.com/RobinSrimal/harbor/tree/main/raim . This is basically a fully decentralised slack clone. supporting channels, dms, threads and file sharing.

Let me know if you have any questions or suggestions! Either via discord or via github issues.

Cheers

Robin

knotty smelt
#

how is it decentralized if one have to use "harbor nodes" for anything?

#

like how does a "harbor node" differ from a server

strong jolt
#

any app running the harbor protocol is a harbor node. a harbor node is different from a server in the sense that it does not hold the full state of an application. It only stores a subset of packets - fully encrypted - that could not have been delivered to peers because they were offline. They only store those packets for up to 90 days or until they were delivered to all intended recipients.

sterile stratus
#

is a copy of the message sent to all known harbor nodes?

strong jolt
#

no a subset. in case you are familiar with how a dht works: every topic has a harbor_id and the 20 closest endpoint_ids of harbor nodes to that harbor_id in dht space are selected. harbor nodes for a specific harbor_id sync packets among themselves.

gilded nest
#

Does/Will Harbor allow to run user’s own nodes?

strong jolt
#

you can clone the repo and build your own app with the harbor protocol as the communication protocol. it exposes a set of apis which you can use to create topics, send messages and share files. you can see the pattern of how to achieve that in raim: https://github.com/RobinSrimal/harbor/tree/main/raim

best approach would be to clone the repo and point claude code / codex etc. at it 🙂