dCloud: A Web3 Cloud Storage Mobile app

Project Name : dCloud

Project Track :Web3

Team Name : cctechmx

Team Member(s) : 1

What is dCloud?:

dCloud is a mobile decentralized cloud file storage app.

KEY DIFFERENTIATORS:

  • More Flexible / Lower price (as per march 23th):

    • dCloud (BTFS): $ 0.007 (GB/Month | NO Max limit | Pay what you use)
    • iCloud: $0.014 (GB/Month | Max 200GB | Pay in FULL ($2.99))
    • Google Drive: $0.016 (GB/Month | Max 100GB | Pay in FULL($1.68) )
    • Dropbox: $0.006 (GB/Month | Max 2TB | Pay in FULL ($11.99))
  • Keep your files ownership. Files in the network are privately stored in the BTFS network.

  • dCloud is Open source. (Commonly overlooked by users it is an enormous advantage over competition. This offers additional security as the code can be reviewed by experts around the globe as well as use cases can be expanded in a faster / cost efficient way.)

  • dCloud revenue model is community friendly, it provides economical benefits to:

    • Devs/ early investors
    • dCloud BTFS host nodes
    • Engaged users which provides feedback, improvement ideas and bug reports.

USE CASES:

  • Cloud storage backup
    • Long term files backup like family photos, important files, etc.
  • Temporary big files sharing
    • Files which are not possible to share on popular apps like email, whatsapp, telegram, etc
  • Mobile auto-backup file system (similar to iCloud)
  • Low IT budget companies storage solution.
  • dWeb creator & browser (similar to IPFS hosted sites)

PROJECT GOAL :

Create an Open Source Web3 Cloud storage mobile app enabling its own ecosystem to enjoy a self-sustainable and shared economy by:

  1. Motivating developers to build quality and enjoyable features for hosts and renters alike to share a transaction fee pool.

  2. Promote storage network fairness and stability by providing proportional benefits and income to efficient and honest nodes (Managed by BTFS core).

  3. Make the user experience as secure, delightful and affordable as possible to keep an ever growing user base.

Project Info :

dCloud Info.pdf (1.1 MB)

Project Repo : GitHub - simbadMarino/dCloud: dCloud: Web3 Cloud Storage Mobile App

Youtube channel: Simbad Marino - YouTube

Project Details :

dCloud idea was born back in 2020 from community feedback on BitTorrent telegram chat, after the BTFS v1 main net release we all wanted to have decentralized dropbox-like mobile app in which you can easily backup your data without giving away your freedom, privacy and big bags of money.
When BTFS v1 airdrops began some advanced users from the TRON SRs and Devs discord channel took the lead and started to create host nodes on servers, laptops and even Raspberry Pis (which, based on experience end up being the hosts favorite setup) . We all shared ideas on how to make nodes more energy efficient and improve the overall node stability to get more contracts and thus more $BTT.
More and more people were interested on having their own nodes to enjoy the airdrops coming from BitTorrent team, thus, users with high cost servers started to get burn due to a higher competition with smaller and more energy efficient nodes. A clear path was paved favoring small nodes over big servers. Fairness and decentralization is possible with BTFS.

October 2020. BTFS was compiled and executed for the first time on a physical Android device using Termux terminal emulator, this gave us the confidence on the portability capabilities of BTFS and the architecture proposal of dCloud was born:

  • OS Bootstrap → dCloud devs (Built separately per OS)
  • BTFS binaries → BitTorrent
  • React Native (GUI) → dCloud devs (Android + iOS shared code)

By separating dCloud code like this we’ll be able to reduce the developing effort. BitTorrent team delivers the binaries, dCloud team devs focuses on implementing them to the specific OS environment and code a single Graphical Interface for both major mobile platforms: Android and iOS.

Mid 2021. Android OS bootstrap is completed and basic GUI is developed for BTFS v1, however we faced major roadblocks to make the app available on Google Play due to Peer to Peer code restrictions by Google Play policies, so the development switches the effort towards improving the app instead of complying with Google Play.

Now on Feb 2022 after thousands of code lines and tons of passion dCloud is a reality (not perfect yet but working towards it). We have released a BTFS v2 compatible app and proudly can say it is now in a proof of concept stage. Basic UI functions for Android are implemented as well as out-of-the-box FULL BTFS v2 node features.

dCloud Github repo has been released as Free & Open Source since May 2021 and will continue like this forever. We believe that keeping a FOSS will boost dCloud development in the future and will encourage further ramifications and use cases for both BTFS and dCloud. Being a FOSS project does not imply it won’t have a revenue stream, it just means anyone can collaborate to improve it or to build on top of it.

For testing and bug bounty topics please refer to: dCloud testing & $BTT bug bounty program

Revenue model:

  1. Occasional user (Under 5GB/Month per month)

    • Free storage
    • Limited features
    • Transaction dev fee activated (to avoid system abuse) | Optional Ads
  2. Frequent user ( Over 5GB/Month with no license)

    • If storage limit is reached user will pay for the extra storage.
    • Limited features
    • Transaction dev fee activated (to avoid system abuse) | Optional Ads
  3. Frequent user (Over 5GB/Month with available license)

    • Free storage up to X (Depending on NFT license plan, TBD)
    • App Features expanded depending on purchased NFT license.
    • Reduced transaction fee
  4. Enterprise usage

    • Free storage up to X (Depending on NFT license plan, TBD)
    • Dedicated BTFS gateways (decentralized web share points)
    • Special collaborative tools

Project Milestones :

Achieved milestones:

  • Prototype realization → 2020 (Done)

  • Architecture definition → 2021 (Done)

  • Proof of concept (Android) → 2021 (Done)

  • FOSS conception → 2021 (Done)

Hackathon milestones:

Mar 15

Mar 31 → Completed (dCloud: A Web3 Cloud Storage Mobile app - #64 by cctechmx)

  • WBTT <–> BTT swap method and GUI too l (this is an important upgrade to avoid users dealing with different wallet interfaces)
  • Implement a small dev fee (5 BTT per file stored) to test the bttc send-btt-to API and make sure gas fees are low enough to support this.
  • Decision made between these different methods of achieving a full BTFS on iOS based on experimentation considering: feasibility, ease of use, scalability.
    • (iSh x86 linux (i686 binary) terminal emulator running in background (similar to dCLoud Android approach)
    • Wasm BTFS binary using aShell terminal running in background (similar to dCLoud Android approach)
    • darwin BTFS attached as library in Xcode project.

Apr 15 (Moved to April 30) → Completed (dCloud: A Web3 Cloud Storage Mobile app - #66 by cctechmx)

  • Extended development team hired to focus on React Native GUI and requirements defined and shared with third parties.
  • New GUI demo available in Github or Youtube for both iOS and Android.
  • BTFS binaries updated if any new BTFS version is released.

Apr 30 (Moved to May 15) → Completed (dCloud: A Web3 Cloud Storage Mobile app - #67 by cctechmx)

  • iOS proof of concept ready but not fully integrated in a single app
  • Improved GUI commits (to date) available in dCloud repository and fully open sourced.

May 15 (Moved to May 30)

  • iOS app fully integrated in a single app
  • Professional GUI finished as per the following features: dBrowser (similar to dropbox interface), dWeb explorer first version released, Wallet manager.

Beyond hackathon milestones

  1. FOSS dev fee model implementation → 2023

  2. In-app Host user Experience feature(GUI) → 2023

  3. Self Sustaining project–> 2024

PROJECT REQUIREMENTS
Below you can find a detailed description of latest requirements to be followed as guideline during the current and future development processor dCloud.
dCloud Requirements.pdf (677.3 KB)

Special thanks to @WindsOfChange92 for the review!

34 Likes

good project …
my question : if btfs on mobile app dcloud , where does btfs use storage? cloud or my phone

9 Likes

Thank you for the engagement and interest on dCloud!
There are 3 options for using a BTFS node in dCloud:

  1. Host only: You can rent your phone storage and earn some BTT as rewards(contracts), as long as you have a stable node (stable Internet connection for a long period of time)
  2. Renter only: You can upload files to the BTFS Cloud and pay some BTT to keep your files for X amount of time
  3. Both host/renter: You can activate both and enjoy the best of both worlds, you can give up some free disk space in return for BTT(contracts on demand) and whenever you need to backup some files to the BTFS Cloud you can pay some other peers and get it done with simple steps.

Hope I helped you to clarify a bit :slight_smile:

9 Likes

its very good project…
thanks

6 Likes

First attempt on iOS support:
Every big project starts with a first step forward :slight_smile:

6 Likes

dCloud v1.1.0 tutorial is ready on YouTube!
We welcome testers to check it out and start using dCloud now :slight_smile:

10 Likes

Check out our latest update on iOS :slight_smile:

7 Likes

Really digging on this project. I’ve been waiting to test BTFS for a while now but have also been waiting for it to be better integrated into my existing digital world. So a few questions.

  1. From my skim of the project it seems it started on a Pi but then has moved to android/ios as the host. Do you intend to still create and easy means of users being able to run small nodes on a Pi or is that something already generally covered by the existing BTFS interface.

  2. While I might want to upload photos from my phone, I would be much more likely to want to store files and interact with them from my desktop. Any plans to support a web based interface that we could “login” to using tronlink/metamask (depending on TRON vs. BTTC) so that we could view/manage/download our stored files?

  3. This is more informational, but as a photographer I often have very large files to share and have had a hard time sending them in a direct manner. Direct torrents doesn’t always seem to work. Can you talk about the current cost per Mb or Gb for BTFS storage and what the upload/download speed generally seems to be. I wonder if a very short term rental could be the solution for passing large photo archives or raw footage.

Cheers!

5 Likes

Hello talking_duck, thank you for your interest!

Answering your inquiries below:

  1. This is already covered by other community members on tutorials , I was offering a shell script to ease the installation specially for external drives for BTFS v1 however stopped updating it due to a considerable amount of unknown variables of the owner system and router configurations. Also the trust factor weights lots on this space (people not trusting other sources besides official Bittorrent ones), I’m willing to update the script for BTFS v2 if enough demand is detected

  2. dCloud app is using a react-native framework for its Graphical Interface which is also compatible with Windows and macOS, porting between different systems is feasible without much efforts. Right now I’m not planning to build a web-based tool as this goes beyond my expertise and focus (self contained BTFS mobile nodes). However anyone can take the current React-Native code and create a fork :wink: . Willing to collaborate with anyone going on that direction.

  3. Currently the default cost is 3,840,000 BTT/TB/Month which is ~ $5 US dollars. Upload and download speed is limited per your Iinternet provider as far as I’ve experienced. No noticeable differences between downloading/uploading compared to traditional centralized uploads/downloads. Regarding the short term upload contracts your idea is pretty easy to achieve, the minimum storage contract time is 30 days, considering a “pretty big pic zip file” being something like 1GB that will be around 3,840 BTT or 5 cents :sweat_smile:… basically nothing for a 1 GB backup out there in the cloud right?

Details on storage pricing and other BTFS v2.1(Mainnet) information can be found at: BTFS2.0 Architecture

Cheers!

5 Likes

Hey @cctechmx
First of all, thank you for your contribution to the BTT community so far. We also appreciated your detailed project post and updates to keep the community informed.

We have a few questions that may be useful for community users who have no experience with BTFS:

  1. As the storage pricing is largely depend on the official BTFS architecture, which you mentioned is about 3,840,000 BTT/TB/Month at the current rate, do you expect it to increase in price dramatically when more users use the system (based on the historical rate that you have observed so far)?

  2. At the current stage, can the user who want to host use dCloud to directly pay renter fees for hosting or will they have to transfer their BTT via another wallet like TronLink?

  3. If a user host a file for 30 days for example, what if they didn’t pay to “renew” the hosting? Will their file still be kept or will it just disappeared upon expiry?

  4. You mentioned about peer-to-peer code restrictions by Google Play policies, does this mean that user will not be able to download the android app directly from the Play Store and will have to download the apk on a third-party server for now? If so, will this be addressed in the future?

  5. Please give an elaboration on the last point on your milestone - self-sustaining project in 2024. What do you envision?

7 Likes

Thank you for your questions @TronLive !

  1. Currently there is a default price base which is aimed to keep the airdrops system more fair for the hosts owners, however once the airdrops ends and the hosts ecosystem on BTFS is mature enough (I assume BitTorrent will remove the airdrops after network stability is achieved in terms of number of high score nodes) the pricing will enter a supply - demand stage, I foresee even a decrease on price as more and more low-energy devices like smartphones and IOT devices join as hosts, leaving high cost equipment like serves out of the game. More people renting space will get them better BTT rates, and this will bring more attention for potential BTFS hosts, increasing competition and thus reducing average price per TB. The key is to get as much users using BTFS to keep prices low, and that’s something dCloud can help with. We are focusing primarily on renting storage from hosts with an easy to use app.

  2. Users need to transfer the BTT to dCloud wallet by using another wallet or import their current wallet using the mnemonic (currently only available using the terminal window). There’s no current plans on integrating a fiat way to pay for the fees but this is indeed an interesting payment option. We will explore an option to do it maybe trough a third party like JustMoney in the future.

  3. After the expiration date is reached hosts are free to remove their shards with no penalty on score meaning there’s no guarantee the file will be available after the 30 days is reached. Currently there is no way to renew the contract on BTFS but there were some plans to implement this from the BitTorrent team( I had this same discussion with Eric some time ago).
    I concur this is a MUST HAVE feature for an app like dCloud so if BitTorrent teams does not implement such features in the mid term for sure we will implement a solution for this :+1:

  4. Yes, due to Google policies related to p2p low layer network calls restrictions golang (programming language used on go-btfs) network p2p are not allowed. We will give some time for golang devs to address this issue as this is the right and more efficient way to do it, however if it’s not implemented in the following year we will work on workarounds from our side which might involve forking the go-btfs and adapting it to be more mobile friendly. Currently the official way to download the app releases is through the dCloud github page, planning to create a website in the near future to make it more friendly for users (even tough we understand that won’t 100% solve the trust issues for everyone’s point of view)

  5. I envision having a healthy open source project which is maintained by passionate developers which challenge them technically and professionally, I want dCloud to be attractive for that and also because it will provide economic incentives for devs. Depending on their involvement they will receive a piece of the cake from in-app fees. I’m still figuring out the best way to share the fees generated by the app, maybe could be managed as bounties for features, bug fixing , security improvements, etc, if you or anyone else have suggestions I’m eager to hear about them :slight_smile:
    Of course the more users we have the more BTT we will collect from licenses and/or transaction fees :grimacing:. This will ( in theory) motivate developers to keep the app updated and adding additional features to both keep Our loyal customers and attract new ones.

Please let me know if you have any additional questions or concerns , I’ll do my best trying to clarify anything :smiley:

4 Likes

This would be really good.

4 Likes

Hello community!

Good news! dCloud v1.2.0 is finally here bringing support to BTFS 2.1 Mainnet
dCloud v1.2.0

If you are willing to test please get the latester release from here

Release Notes:

  • Basic Renter GUI + CLI adapted for BTFS 2.1 (MainNet)
  • WBTT Withdrawal option added in Wallet manager.
  • Error handling improved for Wallet manager
  • Service notification icon changed to a cloud drawing
  • App icon updated to current dCloud logo design
  • New Session colors from Termux terminal fixed.
  • React-Native timers handling improvements to prevent RAM/CPU garbage accumulation.
  • Decimal places are now fixed to 2 improving look & feel.
8 Likes

It would be an absolute delight to finally se BTFS in the hands of end-user.

5 Likes

Totally agree! That’s one of our key goals :wink:

2 Likes

Wow, Wow… what a piece of application there is nothing like supporting decentralization hand in hand with cryptocurrencies better still supporting it in TRON and BTTC blockchain technology incredible successes in your project i will be aware and waiting to be able to use it test in our daily lives!!

6 Likes

Thank you for the support Abraham! The good news is you can already start using it on main net. Remember there is a bounty for testers for suggesting new features and finding bugs :slight_smile: Willing to hear more from you! :wink:

4 Likes

Hello community!

A new YouTube video has been released showing how to setup and get started with dCloud 1.2, now with BTFS Main net support!!

Download, test it and don’t forget to provide feedback so you can earn some BTT :wink:

8 Likes

Great project, contacted developer and got great help setting up on older devices, felt almost too easy honestly, especially with help.

Quick guide would be;

1.Download APK.
2.Run APK
3.Click terminal
4.Run command - btfs init
5.Transfer funds to BTTC adress
6.Run command - Btfs daemon
7. Wakelock on app set to held. (to avoid shutdowns)

Check your node with
http://localhost:5001/webui

And the node was up and running. *Update now running a node @ 8.0 rating, on android 8.0.

Please continue development for cross platform suppport! Loving the possibilities this app creates for data uploads.

Links:

6 Likes

Welcome to the forum @Muttch ! It’s our pleasure to help you get started, thank you for all the testing you have done so far and also for all the features and suggestions :

Thanks to Muttch support, dCloud is now compatible with 80% of the current android phones out there :sunglasses:, he helped to test on Android 8 and probably soon on android 6 , we want dCloud to be as inclusive as possible and we are moving forward to achieve that goal! Next step is iOS support. See you guys soon, we will keep coding !!

7 Likes