Freechains / README

Start here!
Other
20 stars 3 forks source link

Feedback on Freechains design #1

Open arcalinea opened 4 years ago

arcalinea commented 4 years ago

Thought I'd leave my comments as your first issue!

fsantanna commented 4 years ago
  1. Using the same concept for multiple arrangements simplifies a lot the API. I hope it works!
  2. Deleting (which I believe is important) is already possible by disliking your own post. I'm not sure if a mutable data structure would be beneficial for the same reasons you commented as disadvantages in your link. An alternative would be to implement edits on top of the protocol, maybe a back link with a patch to the original post applied at the application level.
  3. Yes we should. I'll open an issue.
  4. IPLD? Probably yes. I know it exists but didn't look closer. lbp2p? I'm not sure where we would use it exactly. Freechains fits completely under 2k locs in Kotlin, the daemon/local/reps/files everything. The actual p2p dynamics is external to it, we only export the "send"/"recv" API which receives a peer it connects directly.
  5. We don't directly. The Android dashboard allows to do this map by hand and writes it to a "configuration chain" that can be reloaded in all your other nodes. But it is external to Freechains.
  6. Yes, very difficult to predict, so I'll just explain the design decisions. The creator receives initial reputation to bootstrap the chain (maybe to little reps?). S/he has incentives to like newbies posts because increasing the number of users is the only way to increase the chain economy, which is of her interest. Also, reps expire after a period, so they must be spent somehow, better to dis/like something already in the chain. Ultimately, users want a good discussion environment, this is also an incentive to participate with dis/likes.