Hey guys,
I have two simple questions around some basic social network functionality built on a Blockstack’s infrastructure.
Trying to sound not too stupid … Graphite, Stealthy, Afari, Travelstack… have all figured that out I guess… so I assume my questions are stupid… upfront sorry for that. Though I have not found any documentation about it so far (please, if something exists on that already, point me to…).
Thanks a lot for helping out.
I am familiar with the classic put / get file system on Blockstack, and the obvious fact that users can read data from other users storages (if the are allowed to), but that they are not able to write any data to storage of another user.
Which means people still can communicate with each other via a method like the one described below (* see clarification notes below), but in order to do so, they have to know about each other upfront. So how do these users intially know about each other?
A) In social network speak… how can A send a friend request to B?
Basically a simple Follow / Following friend request, or a kind of push notification.
Is this possible based on Blockstack, or do we need some centralised database like “Firebase” in between?
An obvious follow up:
Let’s assume we want to build a public forum board like this right here.
B) How can users see content updates from other users, they don’t know yet about
(not yet actively added to their followin_emphasized text_g list), without having an instrumentalized account that is calling the full userbase of Blockstack all the time for updates, and makes the updates accessible for everyone?
Is this possible based on Blockstack, or do we need some centralised database like “Firebase” in between?
Any hints, ideas or suggestions, very appreciated.
(Maybe also an interesting topic for integrating into a Blockstack tutorial?)
*Notes:
Maybe quickly for clarification what I understood so far how users can communicate with each other via the get/put system:.
- User A writes some data
- User A gives user B the ability to read the data
- User B reads the data
- User B writes changes, and makes them readable to user A
- When user A reads the data, she reads both her data and user B’s changes
Both users have copies of the data, with changes they each made. The app would show user A and B the most up-to-date version of the data in order to preserve the writes made by A and B.
All that is fine, if these users know about each other and about the file that they are supposed to collaborate on.
But how do these user initiate their relationship in a decentralised system?