I want to make a dapp (primarily android) and was browsing around for the ‘right ecosystem’ (whatever that may be) for my back-end logic.
I think holochain a very nice initiative but I’m wondering if it would be suited for my goals.
Maybe an overview of my idea, divided in standalone and sharing.
With standalone I mean the core idea of my app, which could run on any smartphone without even internet or authentication.
The goal is a ‘digital pantry’. With this app you would scan food products you buy and set the expiration date.
Before the products expire you get a reminder.
For extra information on a food product I would use Open Food Facts.
For all this functionality I wouldn’t need any storage other than the phone’s and no authentication etc.
Then about sharing.
To make this app more usefull, I would like to add 3 things:
- That a user can use multiple phones (why, I wouldn’t know - but I’ll try to write as device agnostic as possible by using React native so it might also become as easily as possible a web app)
- Groups: That multiple user’s can share one pantry (and maybe shopping list) and add/delete products.
- The ability to add/remove products offline and sync them when coming back online
I don’t want to do that in a centralized way with the need to set up my own server and authentication for users.
The first decentralized dapp ecosystem I encountered was Blockstack and I think I have a pretty good idea about how I would proceed with them, because they arrange:
- (decentralized) authentication/identity (so I don’t have to worry about that)
- decentralized storage (every user/identity can choose where he/she runs his/her own pod, like self hosted or on google drive - everything stored to this pod is encrypted)
To add the group functionality, I would do something like granting other users access to the datapod of the ‘pantry owner’ or using the pod of the user itself and just aggregating the data of all group members in one view.
One big disadvantage: Blockstack is anchored to bitcoin (although they can migrate) and I don’t like bitcoin’s energy stats.
Then I discovered Holochain!
But after taking quite some time going through the docs, I’m not sure if my project is suited to run on Holochain.
My question to you guys is if it would make sense to use Holochain as my back-end and how (very broadly).
I stated what I understand from the docs, but everything with a question mark may be confirmed that I’m understanding it correctly.
- For the authentication I would have to read more on ‘Personas & Profiles’, I guess.
- For the ‘decentralized’ storage, however, I’m not sure how I would do this with Holochain.
First of all, everything put on the source chain would be there ‘eternally’, right? Or at least it’s header (?).
So my food product which was eaten 2 years ago still is there, although it is marked deleted (thus the header will be there, but can the entry’s content be thrown away?)
Then: if I would proceed along this path, according to my understanding, every pantry would need its own DNA and DHT, since every agent who joins a certain network can read all public entry’s.
Thus I would need one network per pantry (?) and this translates into one DHT per pantry (?) and a different DNA per pantry (??? - still to figure out if proceding with Holochain).
Disclaimer: This is just a hobby project.
Greetings and already a big thanks for any feedback,
PS: new users are allowed only two links, but you can ‘google’ Open Food Facts or Blockstack if interested in more details.