Holochain Forum

Holochain Photos Project

This a web application that can upload, preview and share photos in holochain. Basically upload your photos to holochain, get a shareable link. All photos will be stored and retrieved from DNA.

Demo Site: hcphotos.westus.cloudapp.azure.com

Source Code: https://github.com/ogu83/holochain_photos


Very cool, the demo site is currently down. So I ran it locally.

I think there must be come azure services not working because I was getting stuck here.

Very very cool!


Strange. It was working for me yesterday when I played with it. I agree, it’s pretty cool though. I love seeing these different applications popping up. It’s like there’s an underground world developing on Holochain and new layers discovered every day.


Hi Thomas
Yes I have stopped the azure service. If you want to run it locally please change ./gui/holochain_photos.js

Remove the line
var url = "ws://hcphotos.westus.cloudapp.azure.com:50000";

So this code routes all web clients to the conductor that I was running at the hcphotos.westus.cloudapp.azure.com. Eventually I should stop that because there are issues.

First of all running just one agent and one conductor is not a good practice for holochain. Because that means it is not a chain :slight_smile: just a single node.
Moreover that computer was at the azure 1 cpu and 1 gb ram. Not good because holochain store dna in the memmory. So for this kind of hardware config azure is expensive 44$ per month. I stop the service but if you remove the line as I mentioned every body can run it locally for test purposes.

In the future for bigger photos I will divide the bytes of the photo into some chunks and then I will store one photo into many chunks and addresses. This kind of system is necessary for holochain.

1 Like

@ogu83 if you want to collaborate on writing libraries for blob chunking and storage on a DHT, I invite you to join the conversation: "Standardised" common zome traits . We’re hoping to put together a working group (probably in collaboration with Developer Community Collaboration Call #1 ) so that we work together rather than building the same thing over and over again :wink:

1 Like

Why do you want to store images in the holochain? Wouldn’t it make more sense to store images in the cloud and only store the link, author and access rules in the chain?


Why not? Because if you create a web based environment like twitter, facebook (actually there is a project called junto). Should this kind of projects store contents in other CDN’s ? Then holoports cannot host whole project, most of it would be hosted in conventional hosting or cloud services. So holoports could lost their meaning. By the way what about private files. If you can’t store any kind of file (big files like photos, videos, pdf, audio books, epub files, etc…) in holochain, it would be a big set back for holoports. Then developer can only host their web application and the zome layer in the holoports, for bigger content developer should pay more for cloud CDNs? Do you think is it a good solution? I think not. Storing photos is just a beginning from my point of view.

Oh, maybe I misunderstand the use of Holoports. I thought replicating big data through holoports is too expensive. Are they as efficient and cheap as standard cloud storage? I have to get a better understanding here…

Good question. I wonder also this. If not then holochain could not grow rapidly. It would be stay some kind of another graph sql cloud solution with p2p capabilities or something like that. Maybe I got it all wrong but at the and holochain should change the internet and at the end no body care to host app in another way that holoports. It should be like that or else what are we doing here ? There are hundreds of solutions host web application. Why using this DHT based DNA sequenced web microservice environment?

Some baby steps: using two different UIs for the photos project

1 Like

The DHT has its rights when it comes e.g. to access right management something that everyone in the network concerns. However, does the photo needs to be duplicated by all users?

While exploring the UI of Blockstack Envelop I was wondering what should be in the DNA and what shouldn’t. Envelop stores photos on gaia and provides a link for sharing. I think this link, this information about where the photos are stored are worth duplicating across the network, the photo itself not, maybe just a hash of the photo.

I am all with you that happs should be hosted on the DHT. (Blockstack apps are easily hosted on a DHT because they are fat clients.)

I am still learning about the concepts. Looking forward to exploring all the possibilities.

1 Like

What is a meaningful DNA for the Holochain Photos Project?

Uploading a file and creating a shareable link is not very good use case for holochain, isn’t it? There are many other solutions like that out there. It is nice to have but wouldn’t convince anybody to use holochain for that, would it?

Would access right management make it more holochain-ish? Something like holochain agents agree on to whom the owner of the file has given access to. Or what else would make sense?

If so then usage of holoports are questionable when we need other solutions to store files. Then this kind of thinking would made holoports useless. We should use holoports host files too somehow.

My understanding is that holoports host all the data of the DHTs, so they remain valid. However, app developers should think about what data should/must go into the DHT and which do not need to be duplicated across the network.

Maybe I haven’t understood DHTs not yet correctly.

If so again comes a big problem for application developers. If the files should goes into the another CDN, cloud company or hosting. Then why should they use holoports and holochain dna for. Code in rust? dontnetcore web api or NodeJS solutions backed with a scalable and secure NoSQL database solution like MongoDB or Casandra is more easy to code and deploy in the could like AWS, Azure or Google Cloud. By the way as you mentioned

so where the other content is already in, app developers could deploy their solutions. It would be much more cost effective and easy to code and deploy.

Unless when the developer could host contents like photos, videos in the holochain or in the holoports then develop in the holochain with rust would be effective for an app developer.