There are a ton of issues that I am dealing with. I'm not very intelligent or smart and I cannot do this without help from other entities. Presented below are a list of problems I need solutions to. Any help would be appreciated and no programming knowledge is required. Share your ideas!
[ ] How to store images in a decentralized network powered by DHT. The format for data serialization used is JSON, but image binary data cannot be stored in JSON format. I could use base64 but that is usually 33% larger than the original image data. Do I store Image URLs even though the url might be wrong or the file might go be missing, do I store the image metadata instead, but that won't ensure that all users have access to the image? What if a decentralized Content Delivery Network service like IPFS is the only good solution?
Conclusion: Wait...I just realized that nlohmann-json is primarily a JSON library, and its built-in support for MessagePack is limited to converting JSON data to MessagePack format and vice versa. It doesn't directly support serializing binary data like images to MessagePack format. For directly serializing images or other binary data to MessagePack format, I would need to use a dedicated MessagePack library like msgpack-c or MessagePack for C++.
[x] How would sending messages to and receiving messages from nodes in a DHT network work? I want nodes to be able to receive messages even while they are offline.
Conclusion: The DHT network nodes will handle this just like with any other data.
[ ] What other bootstrapping methods could we explore besides hard-coding bootstrap node IP addresses and port into the software?
Some quick and easy-to-answer questions
[x] On Amazon, products are reviewed rather than listings, but in neroshop products and listings were once two separate data but have now been merged to allow for a much simpler lookup process. I was wondering whether each product should be reviewed or should it be the listings that get reviewed instead. I'm probably making this more complicated than it should be lol ...
[x] Should images from listings be stored in a folder named after the listing's DHT key (d4caedeaa217e8e5d3dc16ba01c3141be412eecfbe5a7bbd109ee3f0ce13f2b1) or the listings's uuid (2b715653-da61-4ea0-8b5a-ad2754d78ba1)?
Conclusion: DHT keys will be used for naming folders containing listing images. This approach aligns with the distributed nature of the marketplace, as the images are stored in a decentralized manner based on the DHT key
[ ] Should users be allowed to list products in a single currency (e.g. USD) or in multiple foreign currencies?
Could storing small thumbnails while larger pictures load separately by a secondary method (maybe even only when clicked) make page-loading/fetching faster?
There are a ton of issues that I am dealing with. I'm not very intelligent or smart and I cannot do this without help from other entities. Presented below are a list of problems I need solutions to. Any help would be appreciated and no programming knowledge is required. Share your ideas!
[ ] How to store images in a decentralized network powered by DHT. The format for data serialization used is JSON, but image binary data cannot be stored in JSON format. I could use base64 but that is usually 33% larger than the original image data. Do I store Image URLs even though the url might be wrong or the file might go be missing, do I store the image metadata instead, but that won't ensure that all users have access to the image? What if a decentralized Content Delivery Network service like IPFS is the only good solution? Conclusion: Wait...I just realized that
nlohmann-json
is primarily a JSON library, and its built-in support for MessagePack is limited to converting JSON data to MessagePack format and vice versa. It doesn't directly support serializing binary data like images to MessagePack format. For directly serializing images or other binary data to MessagePack format, I would need to use a dedicated MessagePack library like msgpack-c or MessagePack for C++.[x] How would sending messages to and receiving messages from nodes in a DHT network work? I want nodes to be able to receive messages even while they are offline. Conclusion: The DHT network nodes will handle this just like with any other data.
[ ] What other bootstrapping methods could we explore besides hard-coding bootstrap node IP addresses and port into the software?
[x] On Amazon, products are reviewed rather than listings, but in neroshop products and listings were once two separate data but have now been merged to allow for a much simpler lookup process. I was wondering whether each product should be reviewed or should it be the listings that get reviewed instead. I'm probably making this more complicated than it should be lol ...
[x] Should images from listings be stored in a folder named after the listing's DHT key (
d4caedeaa217e8e5d3dc16ba01c3141be412eecfbe5a7bbd109ee3f0ce13f2b1
) or the listings's uuid (2b715653-da61-4ea0-8b5a-ad2754d78ba1
)? Conclusion: DHT keys will be used for naming folders containing listing images. This approach aligns with the distributed nature of the marketplace, as the images are stored in a decentralized manner based on the DHT key[ ] Should users be allowed to list products in a single currency (e.g. USD) or in multiple foreign currencies?