Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A while ago I made a demo of a P2P chat application that runs on the beaker browser and uses the experimental P2P APIs. It's running at dat://feathers-chat.hashbase.io (slides from the talk at https://vanjs-decentralized.hashbase.io). If the peers can see each other you should be able to register with any email address and send chat messages between browser instances.

What I realized is that this technology ticks a lot of the boxes of what we right now think only the big cloud providers can do. By using a more decentralized protocol it is by design

- Actually Serverless

- Offline-first

- Real-time

- Auto-deploying

- Live-updating

- 100% uptime

I really think there is something there from both, a developer and user experience perspective. The problem is that a lot of it is still very experimental and far from the usability and maturity of e.g. a Firebase or Heroku.



dude I love how many people in Vancouver seem to be interested in or even working with dat :) thumbsup


;)


Can you explain how P2P chat is saved into dat?

How can someone without the keys add their messages to the feed? Wouldn't only the initial creator have the keys necessary to add to the feed?


This is a really cool idea, but how should I be using it? Trying to test it out just now I opened up two tabs in Beaker but both rooms just have the one user in them.

Love the design, by the way.


I believe this is happening because it is using the same peer connection. If you start to separate instances of the browser (e.g. in a VM or another machine) you should be able to see both users.

The design is taken from the Chat guide for https://feathersjs.com. Feathers is a JS library that allows to architect APIs in a way that they are protocol independent. Which worked great in this case because I just had to swap out the existing REST/websocket Feathers adapter for a DAT/Beaker API Feathers adapter.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: