
Proposal “dash-platform-merchant-directory“ (Closed)Back
Title: | Dash Merchant Directory Dapp |
Owner: | rion |
Monthly amount: | 65 DASH (1601 USD) |
Completed payments: | no payments occurred yet (2 month remaining) |
Payment start/end: | 2020-02-14 / 2020-04-13 (added on 2020-02-08) |
Final voting deadline: | in na |
Votes: | 549 Yes / 151 No / 46 Abstain |
External information: | app.dashnexus.org/proposals/dash-platform-merchant-directory/overview |
Proposal description
FINAL UPDATE (March 26, 2020)
Although last month was not funded, if this month is funded I will complete a minimum viable product that satisfies most of the scope of work below. At a minimum, this will include creating a Dash Platform data contract and a website that interfaces with it, storing merchant data on Dash Drive and allowing users to search existing listings and upload new listings through DAPI. It will also include documentation of the process for other developers. I'll be checking the various forums for any last day questions anyone might have.
PROPOSAL UPDATE (Feb 22, 2020)
This proposal has been modified, a copy of the original is available for anyone interested. I just trimmed the fat in some areas, and put some meat on the bones in others. The proposal scope, schedule, and budget remain mostly unaltered.
Value Proposition
Motivation
Dash needs a merchant directory/service that is accessible to anyone, controlled exclusively by nobody, has reliable and comprehensive data, and is built to be self-maintaining and self-sustaining. This is possible with the right design and incentives.
In addition to those simply looking for how they can spend their Dash, there is demand from third-party merchant directories who would like access to Dash merchant data. Amanda B. Johnson recently asked in the r/dashpay subreddit if anyone could provide this data to acceptedhere.io so that they could get an improved picture of Dash's merchant count. Several people in that thread expressed an interest in having accessible data. u/giorgiom92 also mentioned having what seemed to be a separate (and more accurate) directory for Venezuelan merchants. It's likely that other merchant directories exist on top of these as well.
Dash Core Group (DCG) does not have plans to build a merchant directory. However, Bob Carroll (DCG CTO) mentioned that he “would love to see [one] come from the community". (see Reference 1 below)
An additional motivation here is to create supporting tools and document the process of making Dash Platform dapps for 3rd party developers. Both independent and DCG developers benefit from this. Developers unfamiliar with the inner workings of Dash learn how to use it, and DCG learns where the official documentation falls short (sometimes developers who create a tool overlook knowledge gaps in how to use it).
Scope of Work
I have two main goals with this proposal. 1) build a merchant service with the qualities stated above, and 2) document the process and provide resources for other developers. I think the best approach for this is to build the merchant service as a traditional app (web app and API), and then convert it to a Dash Platform dapp. I will make a YouTube video series documenting the whole process. The goal is to attract outside developers with a video series that demonstrates how to use modern but traditional technologies (e.g. AWS, Terraform, Docker, Ansible, Node.js, GraphQL, React, etc), and then show how to integrate it with Dash Platform (Dash Drive and DAPI).
From a user’s perspective, this project can be understood as a merchant “directory”, but technically, my design is to make this more of a “service”. In software, a service is more about the data and the API server than the front end client that consumes (uses) them. This project will include both the API service and a reference client web app, but the focus will be the backend service.
Project features and deliverables:
I have already started the process. Most of the initial planning and architecture is complete. Data from discoverdash.com is also now available in JSON format. This is a static snapshot that acceptedhere.io (or anyone else) can already use. Here’s the roadmap for the merchant service minimum viable product (MVP) and developer documentation:
Merchant service roadmap:
Tooling and documentation roadmap:
Note regarding that last bullet point: I am in ongoing communication with Andy Freer, Dash Platform chief architect, who has offered technical guidance for the Dash Platform-related aspects of this project. He has also helped with this proposal revision. I have and will continue to communicate my plans and progress with community developers regarding this project in the Dash Dapp Developers Discord server. I’m happy to collaborate with anyone and everyone who wishes to be involved in this.
Schedule, Budget, and Terms
I am asking for 65 DASH/month for two (2) months to cover time (my own and those I employ), expenses, and the proposal submission fee. This will result in a minimum viable product (MVP) with features described above.
My aim is to provide as much value as possible before being funded. As of now (Feb 22, 2020) I have worked nearly full time this month planning and preparing this project, with some progress on initial coding as well. I’m a bit behind on where I’d like to have been by now, but still plan to complete as many of the deliverables and features above as possible before the voting deadline for the 2nd month of funding.
The goal is to build a product that becomes self-sustaining. This will likely not be finished in two months, but that’s the aim. Because I’m being paid by the superblock, I consider what I produce to be “owned” (in terms of understanding, not necessarily legally) by Dash. When the product becomes self sustaining I will not need to ask for superblock funds in order to maintain it. Until then, I’d be happy to open source everything I produce. The challenge is that it’s sometimes not clear what the community wants in this respect. I will do my best to gauge whether people want this open source or not (please comment if you have a preference). I will likely err on the side of opening everything up, and will only consider keeping it closed if I see clear support for that.
Dash can expect full transparency into the accounting (costs and revenues) of the project while it is superblock funded. We would continue to ask for treasury funding until the project can pay for itself, tapered off gradually until revenues exceed costs. At that point we can come up with a profit-sharing plan with the network, potentially leveraging the Dash Investment Foundation.
Note: The items in the scope of work will be built using Evonet (testnet for Dash Platform) to the degree possible. I will use traditional technologies for features not supported by Dash Platform. The (d)app will ultimately be transferred to Livenet when that lands, but this is not scheduled yet.
Voting and Feedback
I am trying to build the product that I personally need in order to better support Dash-accepting merchants (most of my income is in Dash right now, so I need this product). I’d also like your feedback, so I can incorporate features that you want. The best place to direct feedback, particularly for longer conversations, is the #merchant-directory channel in the "Dash Dapp Developers" Discord server.
Closing
Dash is meant to be digital cash. It can only fulfill that role if people spend it regularly, and for that they need to know where it is accepted. With payments and merchants being such an integral part of Dash and its mission, it makes sense to put merchant data on Dash Platform, so that it can be accessed freely. Although it’s in the early phases still, Dash Platform needs testing, with real-world applications. So we have a nice match here; this is the perfect time to be building a merchant dapp on Dash Platform.
Reference
(1) Q and A regarding merchant directory from DCG Q4 2019 conference call (time-stamped video with transcript below):
https://youtu.be/BH30bRf7UCk?t=7134
Question (Rion):
"Is a decentralized merchant directory part of the scope of Dashpay"?
Answer (Bob):
"I'll answer that in two parts, one on the client side, in a mobile wallet, would that be part of the functionality, and then also from the platform perspective, dashPay as a data contract or as a dApp that lives on the the platform layer. A decentralized merchant directory is a perfect example of a dApp to be built on top of the platform. It leverages our payment chain, it leverages the people that are using the ecosystem and the network today. Who is going to -- right now that's not part of a defined scope of work to be built. Merchant features are definitely expected to be added to the dashPay wallet, in the DashPay dApp. However something like a merchant directory I think is a perfect example for our community to get involved and have a race to the finish on that and say now that we see the base capabilities of DashPay, wouldn't it be great to write a merchant directory type of dApp that then any wallet could plug into. Because why should DashPay as a wallet, if we're now talking about the mobile app, be the only one to take advantage of the merchant directory, you'd want not only desktop wallets but also third party wallets to take advantage of that as well. So it's not part of our current roadmap, definitely aligned with our product capabilities and I'll just use that as kind of a -- maybe one thing I didn't say today which is, this is why we're building it, right, it's to enhance the community let the community get involved and build applications and solutions on top of the platform, and so I would love to see more of that come from the community than looking and saying DCG what else are you doing for us now, by the way, throw item number 50 or 100 or 200 on the list to then prioritize with, as we've talked about today, a limited set of funding that's available so great question, these types of solutions are what keeps us excited every day"
(2) Request for Discover Dash merchant data (Reddit thread):
https://www.reddit.com/r/dashpay/comments/eway6k/great_news_acceptedhereio_wants_discoverdashs/
(3) Data from discoverdash.com in JSON format:
https://gist.github.com/riongull/2cd35284675b2bda50232141d52b1f7c
(4) Dash Dapp Developers Discord server:
https://discordapp.com/invite/qMvuk3
Although last month was not funded, if this month is funded I will complete a minimum viable product that satisfies most of the scope of work below. At a minimum, this will include creating a Dash Platform data contract and a website that interfaces with it, storing merchant data on Dash Drive and allowing users to search existing listings and upload new listings through DAPI. It will also include documentation of the process for other developers. I'll be checking the various forums for any last day questions anyone might have.
PROPOSAL UPDATE (Feb 22, 2020)
This proposal has been modified, a copy of the original is available for anyone interested. I just trimmed the fat in some areas, and put some meat on the bones in others. The proposal scope, schedule, and budget remain mostly unaltered.
Value Proposition
- An open ("permissionless" and "trustless"), community-maintained directory of Dash-accepting merchants, with searchable, sortable, and filterable data stored on Dash Platform, accessible by both end users directly with a reference web app GUI, as well as from 3rd party merchant directories through an API.
- Documentation, guidance, and reference material for current and future Dash Platform developers, including a YouTube video series demonstrating the process of creating a real-world decentralized application ("dapp") on Dash Platform.
Motivation
Dash needs a merchant directory/service that is accessible to anyone, controlled exclusively by nobody, has reliable and comprehensive data, and is built to be self-maintaining and self-sustaining. This is possible with the right design and incentives.
In addition to those simply looking for how they can spend their Dash, there is demand from third-party merchant directories who would like access to Dash merchant data. Amanda B. Johnson recently asked in the r/dashpay subreddit if anyone could provide this data to acceptedhere.io so that they could get an improved picture of Dash's merchant count. Several people in that thread expressed an interest in having accessible data. u/giorgiom92 also mentioned having what seemed to be a separate (and more accurate) directory for Venezuelan merchants. It's likely that other merchant directories exist on top of these as well.
Dash Core Group (DCG) does not have plans to build a merchant directory. However, Bob Carroll (DCG CTO) mentioned that he “would love to see [one] come from the community". (see Reference 1 below)
An additional motivation here is to create supporting tools and document the process of making Dash Platform dapps for 3rd party developers. Both independent and DCG developers benefit from this. Developers unfamiliar with the inner workings of Dash learn how to use it, and DCG learns where the official documentation falls short (sometimes developers who create a tool overlook knowledge gaps in how to use it).
Scope of Work
I have two main goals with this proposal. 1) build a merchant service with the qualities stated above, and 2) document the process and provide resources for other developers. I think the best approach for this is to build the merchant service as a traditional app (web app and API), and then convert it to a Dash Platform dapp. I will make a YouTube video series documenting the whole process. The goal is to attract outside developers with a video series that demonstrates how to use modern but traditional technologies (e.g. AWS, Terraform, Docker, Ansible, Node.js, GraphQL, React, etc), and then show how to integrate it with Dash Platform (Dash Drive and DAPI).
From a user’s perspective, this project can be understood as a merchant “directory”, but technically, my design is to make this more of a “service”. In software, a service is more about the data and the API server than the front end client that consumes (uses) them. This project will include both the API service and a reference client web app, but the focus will be the backend service.
Project features and deliverables:
- Backend service
- API server (REST or GraphQL) giving open access to merchant data
- Elasticsearch functionality for returning sorted, search-term-relevant data
- Reference client app
- HTML/CSS/JavaScript web app built using React
- Infrastructure deployment tools
- Terraform/Ansible/Docker configuration code for easy application deployment
- Developer-oriented command line interface (CLI) tool for interactive project setup
I have already started the process. Most of the initial planning and architecture is complete. Data from discoverdash.com is also now available in JSON format. This is a static snapshot that acceptedhere.io (or anyone else) can already use. Here’s the roadmap for the merchant service minimum viable product (MVP) and developer documentation:
Merchant service roadmap:
- Acquire data from existing merchant directories (complete for MVP)
- Plan and develop data model (complete for MVP)
- Plan and develop infrastructure deployment tooling
- Plan and develop API to access and modify data
- Plan and develop Elasticsearch component
- Plan and develop DAPI and Dash Drive integration
- Plan and develop community and merchant participation incentive model
- Implement self-sustainability plan to remove reliance on treasury funding in the future
Tooling and documentation roadmap:
- Refine and document the process of setting up a Dash Platform devnet, using and building on existing resources
- Develop a tool to scaffold Dash Platform applications using an interactive command-line application
- Keep in close communication with community and DCG developers
Note regarding that last bullet point: I am in ongoing communication with Andy Freer, Dash Platform chief architect, who has offered technical guidance for the Dash Platform-related aspects of this project. He has also helped with this proposal revision. I have and will continue to communicate my plans and progress with community developers regarding this project in the Dash Dapp Developers Discord server. I’m happy to collaborate with anyone and everyone who wishes to be involved in this.
Schedule, Budget, and Terms
I am asking for 65 DASH/month for two (2) months to cover time (my own and those I employ), expenses, and the proposal submission fee. This will result in a minimum viable product (MVP) with features described above.
My aim is to provide as much value as possible before being funded. As of now (Feb 22, 2020) I have worked nearly full time this month planning and preparing this project, with some progress on initial coding as well. I’m a bit behind on where I’d like to have been by now, but still plan to complete as many of the deliverables and features above as possible before the voting deadline for the 2nd month of funding.
The goal is to build a product that becomes self-sustaining. This will likely not be finished in two months, but that’s the aim. Because I’m being paid by the superblock, I consider what I produce to be “owned” (in terms of understanding, not necessarily legally) by Dash. When the product becomes self sustaining I will not need to ask for superblock funds in order to maintain it. Until then, I’d be happy to open source everything I produce. The challenge is that it’s sometimes not clear what the community wants in this respect. I will do my best to gauge whether people want this open source or not (please comment if you have a preference). I will likely err on the side of opening everything up, and will only consider keeping it closed if I see clear support for that.
Dash can expect full transparency into the accounting (costs and revenues) of the project while it is superblock funded. We would continue to ask for treasury funding until the project can pay for itself, tapered off gradually until revenues exceed costs. At that point we can come up with a profit-sharing plan with the network, potentially leveraging the Dash Investment Foundation.
Note: The items in the scope of work will be built using Evonet (testnet for Dash Platform) to the degree possible. I will use traditional technologies for features not supported by Dash Platform. The (d)app will ultimately be transferred to Livenet when that lands, but this is not scheduled yet.
Voting and Feedback
I am trying to build the product that I personally need in order to better support Dash-accepting merchants (most of my income is in Dash right now, so I need this product). I’d also like your feedback, so I can incorporate features that you want. The best place to direct feedback, particularly for longer conversations, is the #merchant-directory channel in the "Dash Dapp Developers" Discord server.
Closing
Dash is meant to be digital cash. It can only fulfill that role if people spend it regularly, and for that they need to know where it is accepted. With payments and merchants being such an integral part of Dash and its mission, it makes sense to put merchant data on Dash Platform, so that it can be accessed freely. Although it’s in the early phases still, Dash Platform needs testing, with real-world applications. So we have a nice match here; this is the perfect time to be building a merchant dapp on Dash Platform.
Reference
(1) Q and A regarding merchant directory from DCG Q4 2019 conference call (time-stamped video with transcript below):
https://youtu.be/BH30bRf7UCk?t=7134
Question (Rion):
"Is a decentralized merchant directory part of the scope of Dashpay"?
Answer (Bob):
"I'll answer that in two parts, one on the client side, in a mobile wallet, would that be part of the functionality, and then also from the platform perspective, dashPay as a data contract or as a dApp that lives on the the platform layer. A decentralized merchant directory is a perfect example of a dApp to be built on top of the platform. It leverages our payment chain, it leverages the people that are using the ecosystem and the network today. Who is going to -- right now that's not part of a defined scope of work to be built. Merchant features are definitely expected to be added to the dashPay wallet, in the DashPay dApp. However something like a merchant directory I think is a perfect example for our community to get involved and have a race to the finish on that and say now that we see the base capabilities of DashPay, wouldn't it be great to write a merchant directory type of dApp that then any wallet could plug into. Because why should DashPay as a wallet, if we're now talking about the mobile app, be the only one to take advantage of the merchant directory, you'd want not only desktop wallets but also third party wallets to take advantage of that as well. So it's not part of our current roadmap, definitely aligned with our product capabilities and I'll just use that as kind of a -- maybe one thing I didn't say today which is, this is why we're building it, right, it's to enhance the community let the community get involved and build applications and solutions on top of the platform, and so I would love to see more of that come from the community than looking and saying DCG what else are you doing for us now, by the way, throw item number 50 or 100 or 200 on the list to then prioritize with, as we've talked about today, a limited set of funding that's available so great question, these types of solutions are what keeps us excited every day"
(2) Request for Discover Dash merchant data (Reddit thread):
https://www.reddit.com/r/dashpay/comments/eway6k/great_news_acceptedhereio_wants_discoverdashs/
(3) Data from discoverdash.com in JSON format:
https://gist.github.com/riongull/2cd35284675b2bda50232141d52b1f7c
(4) Dash Dapp Developers Discord server:
https://discordapp.com/invite/qMvuk3
Show full description ...
Discussion: Should we fund this proposal?
Submit comment
![]() |
No comments so far?
Be the first to start the discussion! |
FYI Rion reached out to me on Discord and we had several meetings about how this proposal for a Merchant Directory service could be implemented as a Dapp and how to specify it.
Essentially a Dapp in Dash is when a centralised application (such as a merchant directory running on a server/browser frontend) decentralizes all or part of its state to the Dash (l2) blockchain, removing the need for trust or centralized provision of that data...In this case I explained that I thought the value proposition would be to have a trustless merchant directory, where both merchant and review data was created and signed by Dash Usernames via DAPI/Drive, so end-user wouldn't need to trust the provider (Rion) for the data they are consuming from the service.
We also talked about the implementation, i.e. not everything would be ready out-the-box on the EvoNet side so Rion would have to work in tandem with the Core devs to implement the decentrlaized state.
I also wasn't 100% clear on whether this would be a centralized app first or built as a Dapp from the ground-up (which is more something I would support) but Rion assured me that the roadmap here is firmly as a Dapp (aka centralized) Merchant Directory so I assume that's the intention.
In which case, although I can't comment on the reputation/delivery of Rion or the pricing of the proposal, I think the value proposition is interesting (as a Dapp on Dash Platform) and i'm happy to work with him to help this implementation if the proposal passes.
Best,
Andy Freer
So this has nothing to do with Discover Dash. DD is an Evolutionary dead end (pun intended) . Forget about loading this thing with DD data. This is not going to be curated. Right?
I cannot support simply cloning DD and moving the centralized data (which you have to maintain) onto the Evo second layer.
By the way, I updated the proposal today. Perhaps it helps to clarify the vision. Thanks for your input.
Plus the payment processors are not going to hand over their customer data, so we're stuck with a mom-and-pop directory. BFD.
I would like to see Rion huddle with the DiscoverDash folks and also Andy Freer to figure out if there is indeed a viable product or use case here (not just something for PR or for Matthijs to go on a vacation scavenger hunt). The DD folks already have a directory up and running, and IIR they were planning to do exactly what you are doing. And now that Andy Freer is back, he should be advising you every step of the way.
Then come back with a new proposal.
I have, in fact, huddled with the discoverdash folks - I offered to work for them to convert the data into a Dash Platform app. They did not act on that offer, and have not acted in response to others who have requested access to the merchant data. Also, discoverdash.com will be more than welcome to use the API I propose to build out for their frontend. This project is all about collaboration.
Andy and I have spoken, both publicly (on Dapp Developers Discord) and privately. He is happy to advise the project from a technical standpoint, but remains neutral with regards to proposal campaigning.
I like a lot of the things proposed here and understand there are many teams looking to do this work. I don’t know your qualifications or team size nor theirs and it would be nice to structure this endeavor differently. I would like to see more of a competition style initiative to build this out rather than just give it all to the first person who puts in a DAO proposal. Not sure the ins and out of how that might work but large projects are done like that often enough that the DIF should be able to put something together in those regards. That would be the most efficient way to get projects like this done. I don’t think there is any hurry and we have plenty of time to think this through and do it properly.
One thing I worry about is the cost and completion timelines, I see no roadmap timelines. I would also hate for us to spend tons of money on this for the community to end up not using it, like Nexus. I could also easily see this project turning into a money pit that never gets finished like Kuva, in fact I see many parallels…
“We would continue to ask for treasury funding until the project can pay for itself.”
At 8k plus a month that could get very expensive just to sit around and do basic maintenance for years after the project has been built. It will take years for this to become profitable if not decades IMO. If this project or others are profitable that would be another reason to go through the DIF and give equity, that is one of the main reasons we set up the DIF.
However, the way you just scraped the merchant data from the discoverdash.com using an undocumented API without even consulting the discoverdash.com folks (to my knowledge at least) is completely unacceptable. Some might even argue that you just doxxed all the merchants.
The merchant listings do not belong to Dash Force nor the DAO (despite ignorant claims to the contrary) but to the merchants themselves. By submitting their data to the website they had to setup accounts so they could manage / update / delete those listings, effectively asserting their ownership and control, and they all (hopefully) consented to this by taking the trouble to setup the account and descriptions or having an agent do it on their behalf.
So what's your plan here? Just take all their data without asking and stick it on a blockchain? This is incredibly reckless.
To re-cap, not everyone is a legal expert, and your heart is probably in the right place, but you need to get consent from the merchants to post that data anywhere (including on github). Fix this, and you will get my confidence and support.
Not that long ago, before there was a World Wide Web, there was something called the "Thomas Registry." This was a series of books kind of like an encyclopedia that was published each year. It was simply a directory that listed many thousands of companies that provided various goods and services. You could find it in your local library.
Fast forward to the World Wide Web. The first thing people did was make a directory called Yahoo. It grew and grew and users loved it.
Fast forward to today. There are no directories. People use search engines to find things. My point is that curated directories are obsolete.
Also how will you parse the discover dash data to find what is actually useful?
Also I'm curious how this can be started on immediately, my understanding of the tools DashCore has released so far are just being able to connect to the DAPI and create usernames, you'll need much more functionality than to build out a merchant directory unless I'm mistaken.