Proposal “DashMoney-Decentralized-Frontend-Q1-2024“ (Completed)Back
Title: | DashMoney - Decentralized Frontend for Dapps (Jan-Mar 24) |
Owner: | DashMoney |
Monthly amount: | 199 DASH (6159 USD) |
Completed payments: | 3 totaling in 597 DASH (0 month remaining) |
Payment start/end: | 2024-01-10 / 2024-04-08 (added on 2024-01-02) |
Votes: | 620 Yes / 35 No / 16 Abstain |
Proposal description
DashMoney Decentralized Frontend for Dapps
Visit DashMoney.io for the decentralized frontend of Dash Platform dapps that is currently in development.
This proposal is also the decision proposal to bring in DashGetPaid (a Dash Platform Marketplace) to mainnet. With decentralized frontends, I have no control over who hosts this frontend, once a dapp is integrated in, anyone can operate/host it.
This 3 month proposal for 199 a month will cover the following work.
1) The ‘Groups’ dapp at DashMoney.io (formally DashGetTogether,) will be updated and integrated in.
3) Bringing in DashGetPaid as ‘My Store’ and ‘Shopping’. Add the "Pay Later" Feature (change the data contract and add functionality)
4) Create the ‘Identity and Documents - Control Page’ for deleting documents and ‘disabling’ identity, if necessary.
5) Bring in the "Credit Transfers" ability as the frontend fee mechanism.
Final Thoughts
These dapps in their current forms are not private. The data is open and available on Platform. The current open versions are also simpler, therefore faster to build and allowing more use-cases to be tested for Platform.
Platform testing is in progress and so there will be periods where the dashmoney.io site is inoperable. This does not impede my ability to develop, but it will prevent people from trying it out fully until it is stable.
Also no images are brought in for these dapps, because there would have no control over what was displayed. (But bringing in images is a solved issue though, refering to DashPay Data Contract)
Lastly, this is a short description of how someone would operate a decentralized frontend.
1) Copy github repository. https://github.com/DashMoney/DashMoney-Decentralized-Frontend
2) Connect Github repository to hosting service (Vercel).
3) Add environment variables and domain name to hosting service.
• Environment variables are website name, Platform IdentityId to receive frontend fee, and fee amount as percentage of Topup(0.01 Dash).
4) Hosting service builds and deploys. (You are now a Dash Platform Frontend Entrepreneur.)
Additional Information can be found:
1) Informational Proposal - https://www.dashcentral.org/p/DashMoney-Dapp-Development-DEC-2023-INFO
2) Decentralized Frontends - https://www.dash.org/forum/index.php?threads/a-vision-for-dash-by-dashmoney-better-late-than-never.54188/
*** Good Question from Vlad2019 on DashDiscord (12/11/2023)
Good day. Now, from the moment you enter the seed phrase until the moment the balance information appears about one minute passes. I understand that this is a test network, debugging and all that. But how fast will the platform work after release? It seems to me that even a 10 second answer nowadays is a lot
(DashMoney response): Thanks for the question. So there will be a lot of change. So right now, the login sequence first pulls the wallet data from block 905,000 to the current height of about 930,000 and then loads platform data. This part does take about 30 seconds to a minute for the first time, but it should be about 15 to 20 seconds after the initial pull because the SDK saves some chain data in local storage on your browser to make all the subsequent loadings faster.
In the future, my hope is that Dash core implements 'snapshots', so this will limit how far back in the chain the wallet will have to search and make the loading of the wallet faster.
But that is not the best part, I will be changing the loading sequence probably in the next month or two, to what I call the 'Platform Only login' this will pull all your platform data at login first, so you have all the platform state for your personal dapp within 10 seconds at the most. And the wallet will load in the background as described above. It will be a much better experience.
(Vlad2019 response): Thanks for the detailed answer! Did I understand correctly that every application developer will face similar problems. He will have to think about how to speed up data loading and cache it on the client side? Is optimization planned (except for the snapshots you mentioned) on the server side?
(DashMoney response): Yes to the question of speed up data loading and cache on the client side, but it is not that difficult to set up the log in sequence once it is understood.
To the question of optimization on the server side, actually there is no server side to DashMoney dapps. When you go to a site like DashMoney.io there is a server that sends the frontend to your browser, but after that you never talk to the server again. The only thing on the server side is Dash Platform.
-
Visit DashMoney.io for the decentralized frontend of Dash Platform dapps that is currently in development.
This proposal is also the decision proposal to bring in DashGetPaid (a Dash Platform Marketplace) to mainnet. With decentralized frontends, I have no control over who hosts this frontend, once a dapp is integrated in, anyone can operate/host it.
This 3 month proposal for 199 a month will cover the following work.
1) The ‘Groups’ dapp at DashMoney.io (formally DashGetTogether,) will be updated and integrated in.
- This will include updating Data Contract, updating the frontend functions, and finishing features like visibility of all participants in a group and displaying of active groups for joining.
3) Bringing in DashGetPaid as ‘My Store’ and ‘Shopping’. Add the "Pay Later" Feature (change the data contract and add functionality)
4) Create the ‘Identity and Documents - Control Page’ for deleting documents and ‘disabling’ identity, if necessary.
5) Bring in the "Credit Transfers" ability as the frontend fee mechanism.
Final Thoughts
These dapps in their current forms are not private. The data is open and available on Platform. The current open versions are also simpler, therefore faster to build and allowing more use-cases to be tested for Platform.
Platform testing is in progress and so there will be periods where the dashmoney.io site is inoperable. This does not impede my ability to develop, but it will prevent people from trying it out fully until it is stable.
Also no images are brought in for these dapps, because there would have no control over what was displayed. (But bringing in images is a solved issue though, refering to DashPay Data Contract)
Lastly, this is a short description of how someone would operate a decentralized frontend.
1) Copy github repository. https://github.com/DashMoney/DashMoney-Decentralized-Frontend
2) Connect Github repository to hosting service (Vercel).
3) Add environment variables and domain name to hosting service.
• Environment variables are website name, Platform IdentityId to receive frontend fee, and fee amount as percentage of Topup(0.01 Dash).
4) Hosting service builds and deploys. (You are now a Dash Platform Frontend Entrepreneur.)
Additional Information can be found:
1) Informational Proposal - https://www.dashcentral.org/p/DashMoney-Dapp-Development-DEC-2023-INFO
2) Decentralized Frontends - https://www.dash.org/forum/index.php?threads/a-vision-for-dash-by-dashmoney-better-late-than-never.54188/
*** Good Question from Vlad2019 on DashDiscord (12/11/2023)
Good day. Now, from the moment you enter the seed phrase until the moment the balance information appears about one minute passes. I understand that this is a test network, debugging and all that. But how fast will the platform work after release? It seems to me that even a 10 second answer nowadays is a lot
(DashMoney response): Thanks for the question. So there will be a lot of change. So right now, the login sequence first pulls the wallet data from block 905,000 to the current height of about 930,000 and then loads platform data. This part does take about 30 seconds to a minute for the first time, but it should be about 15 to 20 seconds after the initial pull because the SDK saves some chain data in local storage on your browser to make all the subsequent loadings faster.
In the future, my hope is that Dash core implements 'snapshots', so this will limit how far back in the chain the wallet will have to search and make the loading of the wallet faster.
But that is not the best part, I will be changing the loading sequence probably in the next month or two, to what I call the 'Platform Only login' this will pull all your platform data at login first, so you have all the platform state for your personal dapp within 10 seconds at the most. And the wallet will load in the background as described above. It will be a much better experience.
(Vlad2019 response): Thanks for the detailed answer! Did I understand correctly that every application developer will face similar problems. He will have to think about how to speed up data loading and cache it on the client side? Is optimization planned (except for the snapshots you mentioned) on the server side?
(DashMoney response): Yes to the question of speed up data loading and cache on the client side, but it is not that difficult to set up the log in sequence once it is understood.
To the question of optimization on the server side, actually there is no server side to DashMoney dapps. When you go to a site like DashMoney.io there is a server that sends the frontend to your browser, but after that you never talk to the server again. The only thing on the server side is Dash Platform.
-
Show full description ...
Discussion: Should we fund this proposal?
Submit comment
No comments so far?
Be the first to start the discussion! |
From the proposal:
I have completed 1), 3) without PayLater, and 2) is being fine tuned. 2) due to the larger program size requires a more acute implementation for each dapp.
I will be putting 4) on hold for now, as well as 5). But 5) shouldn't take that long.
New Direction:
New feature: Events - this will be in the Nearby dapp for Meetups and the like.
New dapp: P2P Exchange - anyone can put up an offer, and thereby become an exchange.
New dapp: Dash Uber - using Nearby location query ability. People can post pickup and dropoff addresses and coordinate payments. Drivers can query for state/city/area and find requests in the area. There are many considerations and possible user flows. It will be crude, rudimentary, and will work.
Thank you for your time.
In regards to your recent update, are you aware that the incubator is already building a P2P exchange platform? and you should ask the network before you decide to pivot to different projects than what you got funding for.
I don't think we need another uber
(DashMoney response)
Thank you for the question and comment.
Incubator P2P exchange operates with centralized backend to coordinate and has 2/3 signature with 3rd party.
DashMoney P2P exchange will operate on Platform, decentralized backend with only 2 parties(Buyer and Seller).
The point of Dash Uber is not so much to create another Uber. To have that experience, people would need to use a mobile app that links to maps on your phone. But it will showcase a much bigger idea and that is the Dash Platform can be used to create markets, to coordinate more than just the simplest economic exchange. This is what I hope.
I hope also that by having use cases that people actually use, more developers will come and create on Dash Platform.
The way I see this progressing is that Platform users would install a browser plugin like metamask which the incubator is working on.
So you would generate your seed there and input it there and manage your identity there.
Then dapp developers would interface with the plugin to get the auth and identities they need to run the dapp.
But until these foundations are built what Dashmoney is building is still very valuable.
These are the same links that I have in the above proposal.
So I will first ask a question. Why do people use centralized exchanges?
My answer to that question is that they see value/a greater reward in using the exchange than the risk/loss, they could incur.
No one is forcing anyone to use the website. It is voluntary. And if you want to look at the code, it is all open source https://github.com/DashMoney/DashMoney-Decentralized-Frontend , and you can download and run it yourself.
But what I am trying to achieve is provide the lowest bar to entry. The least amount of friction possible so that people can try out some possibilities that Dash Platform can provide.
The possibilities that Dash Platform presents are much further reaching than my simple dapps can capture, but I do my best.
You see I don't care for "Use this 10 step guide to using crypto the right way'. 10 steps! No.
I understand that when people are learning, it will be messy. They must learn. Like when you created your first email address. You had to start somewhere. I don't follow the conventional rules that would scare people away and make it difficult for them to use.
I set out to get people to actually use Dash as money, and this is the path I pursue.
I dont think he's asking too much, someone with this much skill could be earning far more by building a frontend for Maya/ thorchain or any similar interface on any of the top chains which have far more traffic.
I also support this proposal and disagree with the statement that the ask is too high. especially considering the wages that core have been on for years.
Lets encourage 3rd party initiatives and not push them to the bottom or try to squeeze them.