Project Name: dCloud: Lite + dCloud Mobile upgrade
Project Track: Builder
Team Name: cctechmx
Team Member(s): 1 (@cctechmx )
HackerEarth Project Link: dCloud Lite + dCloud Mobile
- dCloud Lite: Create an Open Sourse lightweight go-btfs repository and binaries for developers to integrate the BTFS network in their own applications and server-less needs.
- dCloud Mobile: Introduce an intuitive and portable way of uploading and downloading files to & from BTFS.
p2p file host and sharing lacked reliable nodes availability on IPFS. By using BTFS we are integrating a decentralized value layer on BTTC blockchain to guarantee file persistence over time.
By creating a go-btfs Lite version we want to expand the use case of BTFS for non-crypto people. We envision a server less world in which low resources dev teams and entrepreneurs can access Terabytes of data without paying astronomic bills from hosting services.
dCloud Mobile will continue supporting the full go-btfs stack and BTTC integration is given by default. By improving user experience there is no need to have special IT knowledge to run a node or manage your BTFS node, dCLoud will do the hard stuff for you :).
go-btfs-wasm aims to provide web developers a super lean entry to BTFS and users eventually will have the possibility to download a chrome plugin with a fully packed BTFS. No need to run BTFS thought a complicated command line.
dCloud Presentation_v3.pdf (1.5 MB)
Project Website: https://www.cctechmx.org
Project Test Instructions: In progress
We are creating a go-btfs fork with limited functionality but reduced size to attract more developers to use btfs as their choice instead of IPFS lite clients.
Final releases and binaries to be uploaded before the end of this hackathon. Stay tuned!
If you want to follow up our progress in a regular basis please check our dCloud-Lite GitHub. This is fully Open Sourced
We want to keep improving dCloud mobile capabilities and ease of use. We have finally managed to modify go source code to be compatible with Android Google Play requirements and released the app
Final releases to be uploaded before the end of this hackathon. Stay tuned!
If you want to follow up our progress in a regular basis please check our dCloud GitHub. This is fully Open Sourced
Smart Contract links: N/A Using BTFS
dCloud mobile milestones:
- August 2023: Google Play compatibility. This was a long awaited upgrade and I had to deal with complex modifications on go source code itself to manage network calls the way Android/Google expects to do it from SDK 30 onwards. → DONE
- July 2023: User experience enhancements (Wallet & node setup). → DONE
- August 2023: Update to go-btfs v2.3.2 or latest BTFS version. → DONE
- August 2023: Welcome screens to improve user ramp up for BTFS. → DONE
- August 2023: Debugging issues were fixed by upgrading libraries dependencies which also improved dCloud stability while using it on long time periods. → DONE
- September 2023: Release dCloud version v1.6.0 to Google Play & App Store. Links to download available.
dCloud Lite milestones:
- September 2023: Achieve 50% of binary reduction. → DONE, binaries available in latest release: Release v2.3.2 · simbadMarino/btfs-sharedLib · GitHub
- September 2023: go-btfs-lite available binaries for iOS, Android, macOS, linux & windows. → DONE, binaries available in latest release: Release v2.3.2 go-btfs-lite · simbadMarino/btfs-sharedLib · GitHub
- September 2023: Demo version of CID downloads using the lite version libraries. (Either on desktop or mobile environment).
- September2023: Web Assembly compiling attempts and source code adaptations to make this a reality. → DONE, firs wasm release available at: Release v2.3.2 go-btfs-wasm_POC · simbadMarino/btfs-sharedLib · GitHub
Happy to be here again Let’s continue building!!
I’ll be updating the post continuously and providing feedback to your questions
Welcome again, wishing you all the best.
This is it my field I have no knowledge about this, I can only wish you good luck team
Thank you Prince! I’ll do my best to provide useful tools for the community and devs out there.
Welcome to season 5, enjoy your stay as hackathon progresses, good to see y’all entry in the builder track, that’s one tough track I must confess. Now, from my read I see your project aims to upgrade dCloud Lite and dCloud Mobile, focusing on integrating BTFS (BitTorrent File System) into their offerings. They plan to create an open-source lightweight go-btfs repository and improve file uploading and downloading on BTFS through dCloud Mobile.
I’ve a few questions bordering on this;
What specific challenges does BTFS address compared to IPFS in the context of file hosting and sharing?
Can you provide more technical details about the go-btfs Lite version and how it differs from the full stack
Thank you Manfred for the welcome!
Answering your questions:
2)On go-btfs lite version we are completely removing the blockchain side of BTFS witch will significantly reduce the complexity and size of go-btfs. With go-btfs v2.3.2 the Bittorrent team introduced an optional mode called: “Simple Mode” which does precisely this but in my opinion we need to have a separate fork so we can talk to BTFS in a read-only mode, meaning we will only be able to access btfs objects and download them using the already created CIDs.
Thanks for answering, thanks also for the additional information. But I’ve a question;
Can you explain the benefits of having a separate fork for read-only mode in go-btfs Lite, and how it will enhance the user experience?
Sure, having a fork provides the best way to test out new ideas and experiments. If we go trought the route of having the changes in the same Bittorrent repository it will slow down the development as it needs to pas trough extensive testing before launching. Let’s say this go-btfs-lite fork can be considered as a sandbox for experimentation. If everything goes well we can later on decide to do a pull request into the official go-btfs and merge if the team decides to do it.
User experience is enhaced by not needing to create a BTT wallet neither having to deal with crypto at all. These lite libraries will just consume whatever someone else uploaded using a normal BTFS node.
I will upload a video showing a demo in the coming days. Hope this helps to clarify the use cases
It sure does help, keeping fingers crossed till when that video drops, ciao!
Working hard! Almost reached a 50% size reduction in binaries! go-btfs is on a diet !
After having go-btfs to lose some weight I’m going for the wasm compatibility so we can mount BTFS on browsers!! Slowly but surely progressing.
Branch is up and latest updates available in our GitHub repo:
Hello community, trondao team, I’m glad to announce I’ve managed to successfully compile and run the first ever BTFS Web Assembly binary on browser
Check the video: https://youtu.be/oEs3YfyDj9E
This is on proof of concept stage still but having it running is a very good starting point!
congratulations, watched but I did not understand anything lol not my field
Yes to be honest this is something only web developers might be aware of currently but I’m planning to release a video explaining the importance and how this will benefit the community. In summary, currently if you want to run a btfs node you need to install it on windows, mac, Linux , ios or android , with this new wasm release you will be able to run a btfs node directly in a browser without connecting to a gateway / server . We could bundle everything as a chrome plugin for example :). Also developers could integrate this in their web apps or mobile apps.
oh nice one, thank you.
I will be waiting for the video
Fantastic progress I love watching the evolution of dCloud. Best of luck with your submission mate.
Kudos on the progress and always updating forum members goes to show how you prioritize community.
Thank you mate! Same for you! Love to see how much progress you have made on your projects
Yeah but WASM Brilliant Just brilliant!
It’s still a very slow rate of adoption but I think it’s the future of web development
Totally agree, wasm is probably underrated due to the slow adoption into different languages like go, the main roadblock right now for go-btfs implementation in wasm is related to a filesystem dependency, lot of work to do here but it’s feasible. We need to find a good way to implement a browser filesystem and replace the current disk approach , any ideas are definitely welcome