Skip to content

Dotpay a github paid task platform using DOT payment#715

Merged
mmagician merged 1 commit intow3f:masterfrom
AdaLam7:master
Dec 29, 2021
Merged

Dotpay a github paid task platform using DOT payment#715
mmagician merged 1 commit intow3f:masterfrom
AdaLam7:master

Conversation

@AdaLam7
Copy link
Copy Markdown
Contributor

@AdaLam7 AdaLam7 commented Nov 26, 2021

Project Abstract

DotPay is a platform that supports paid tasks to complete open-source projects on Github.

For which grant level are you applying?

  • Level 2: Up to $50,000, 3 approvals

Application Checklist

  • The application template has been copied, renamed ( project_name.md) and updated.
  • A BTC or Ethereum (DAI/USDT) address for the payment of the milestones is provided inside the application.
  • I have read and acknowledged the terms and conditions.
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Nov 26, 2021

CLA assistant check
All committers have signed the CLA.

@mmagician
Copy link
Copy Markdown
Contributor

@AdaLam7 Thanks for the application. At a first glance, this sounds similar to dot marketplace application. I would recommend you take a look at their proposal and outline in your application how/if it compares and whether there is room for collaboration/reuse. By simply checking their github activity, the @WowLabz team seem to be making some progress.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Nov 26, 2021

I think we are very suitable for cooperation with dot marketplace, but these two projects are still very different. First, dotpay will focus on open-source payment collaboration, deep integration with GitHub, closer to end-users, but dot marketplace more general. I will add it to the proposal.

@semuelle
Copy link
Copy Markdown
Contributor

Hi @AdaLam7, could you

  • remove the BTC amounts (USD amounts will be converted to BTC at time of payment),
  • add a Development Status section (your roadmap mentions that some functionality is already available),
  • have a look at the Development Roadmap in our application template (it contains info on what each milestone should include (e.g. tests)),
  • have a look at the What activities/positions do you fund? section of our FAQs (for example, we don't fund server costs and marketing), and
  • send links to relevant code repositories or related activities by you or your team to grants at web3.foundation?

Please note that all questions are ideally addressed by modifying the application document, as it becomes the basis for the contract when a grant is signed.

@Noc2 Noc2 added the changes requested The team needs to clarify a few things first. label Nov 29, 2021
Copy link
Copy Markdown
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the application. In general, I would love to see a proper incentivization of contribution via git (not only github, but also things like https://radicle.xyz/). However, you milestones currently still are missing a lot of details, see https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md#development-roadmap-nut_and_bolt and we usually don’t fund things like the initial design phase. Let us know once we should take another look at the application.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Nov 29, 2021

@Noc2 thanks a lot for your suggestion, The project is under development so that there is no website that can be displayed. You can see our homepage in about two weeks. You can try most of the functions after a month and a half. I will add milestones details, and remove the design phase first~


* **Total Estimated Duration:** 16 weeks
* **Full-time equivalent (FTE):** 3
* **Total Costs:** 4,8000 USD
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **Total Costs:** 4,8000 USD
* **Total Costs:** 48,000 USD

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@semuelle Thanks for getting back to me so quickly. I feel so sorry about it and it was our unintentional mistake , we've changed it back to the original.
We also have sent the team details privately through Google Form.We are preparing to add more information about milestone.I'd really appreciate it if you could give me some more suggestions.Thanks again and have a nice day.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@semuelle Thank you

Hi @semuelle We have added relevant information about Development Roadmap , Ecosystem Fit and Development Status ,and have also submitted the Google Form. could you please have a look and give me some suggestions ? I'd really appreciate it if you could let me know your opinion about it in time. Looking forward to hearing from you soon.

@semuelle
Copy link
Copy Markdown
Contributor

@AdaLam7, why did you change the cost of M1? The total and the sum of the milestones now don't add up anymore.

@semuelle semuelle self-assigned this Nov 30, 2021
@vimerr
Copy link
Copy Markdown

vimerr commented Nov 30, 2021

@AdaLam7, why did you change the cost of M1? The total and the sum of the milestones now don't add up anymore.

@semuelle sorry about that, @AdaLam7 hadn't slept all night and changed the number by mistake 😄

@vimerr
Copy link
Copy Markdown

vimerr commented Nov 30, 2021

@semuelle Thank you for your suggestion, I added the milestone details~

@fanux
Copy link
Copy Markdown

fanux commented Nov 30, 2021

@vimerr plz rebase all the commits.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 1, 2021

Thanks for the application. In general, I would love to see a proper incentivization of contribution via git (not only github, but also things like https://radicle.xyz/). However, you milestones currently still are missing a lot of details, see https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md#development-roadmap-nut_and_bolt and we usually don’t fund things like the initial design phase. Let us know once we should take another look at the application.

Hi @Noc2 We have added relevant information about Development Roadmap , Ecosystem Fit and Development Status ,and have also submitted the Google Form. could you please have a look and give me some suggestions ? I'd really appreciate it if you could let me know your opinion about it in time. Looking forward to hearing from you soon.

Copy link
Copy Markdown
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi. Thanks for the update. However, why did you submit a google form? Do you want to apply in private instead and close the current application? The PR itself still doesn’t contain for example the deliverables 0a-0d of the template, see https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md#development-roadmap-nut_and_bolt
“Deliverables 0a-0d are mandatory for all milestones, and deliverable 0e at least for the last one. If you do not intend to deliver one of these, please state a reason in its specification (e.g. Milestone X is research oriented and as such there is no code to test).”

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 1, 2021

@Noc2 Submit a google form because we want to provide some member information privately. I add the deliverables 0a-0d, please check it out, thank you :)

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 2, 2021

Hi@Noc2,thanks for your suggestions, we've added relevant information about milestones.

About the question of " Do you want to apply in private instead and close the current application? "
Please contiue the current application
To be honestly, it is the first time for our team to apply grant, and we want to supply team specific infoemation privately,
so in our grant application we indicated the team specific infoemation will be sent in private and then we offered it by Google Form.Please contiue the current application and I would appreciated and please accept our apologies for any inconvenience caused.

And we have added the deliverables 0a-0d about mlestones,it would be very helpful if you could give us some review suggestions.Thanks again and have a nice day,looking forward to hearing from you soon.

Copy link
Copy Markdown
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update. In this case, we will continue with this application. If you want to send us additional private information, you can also send us an email (grants@web3.foundation). Just in case. Regarding your application and the deliveries. Deliverables 0a-0d are usually mandatory for all milestones. This means all milestones should have a license file, documentation, unit test and docker as delivery. Also your deliverables should ideally be helpful for our ecosystem and other teams in the ecosystem. For example, milestone 1, currently looks to me like a homepage with a github integration. I don’t understand how this is related to polkadot, substrate or kusama.

Copy link
Copy Markdown
Contributor

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify what @Noc2 said: "deliverables 0a to 0e" refers to what is listed as 0a to 0e in our application template, namely

  • License
  • Documentation
  • Testing Guide
  • Docker and
  • Article.

After those come the central milestone deliverables, such as pallets, UIs, etc.

When listing deliverables and writing their specification, please keep in mind that everything funded by a W3F grant should be useful to the ecosystem as a whole, and clearly verifiable and reproducible. So, if some functionality requires a webhook, you must include documentation on how others can set this up themselves. And wherever you can, please specify details on how something is implemented. For example, you could write that you use the Github API to retrieve developer contributions for deliverable 5.0a or add a database schema diagram for 5.0c, if you already have that.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 5, 2021

Thank you very much for your detailed suggestions, we will provide more detailed information as required

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 5, 2021

Everything funded by a W3F grant should be useful to the ecosystem as a whole

For example, an email notification module is a very important contact channel for a developer who has never used Polkadot to withdraw DOT. Will the foundation fund the development of such a module? If w3f doesn’t fund a similar feature, I will delete it from the milestone. I personally think this is a very important way to expand ecological end users.

@Noc2
Copy link
Copy Markdown
Contributor

Noc2 commented Dec 6, 2021

Everything funded by a W3F grant should be useful to the ecosystem as a whole

For example, an email notification module is a very important contact channel for a developer who has never used Polkadot to withdraw DOT. Will the foundation fund the development of such a module? If w3f doesn’t fund a similar feature, I will delete it from the milestone. I personally think this is a very important way to expand ecological end users.

An email notification system for on-chain events is indeed useful and we probably would support the development of it.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 6, 2021

Hi @Noc2 @semuelle I update the milestone:

  1. Delete the milestone 4, split the test work to each milestone.
  2. Explained the value of each work to the ecology.
  3. Merged shorter milestones into one

Now we have three very clear milestones.

After all the milestones are completed, the website will launch a complete open-source task payment function. Thank you again for your patience and guidance. If there are any other issues, we will do our best to adjust in time.

@semuelle
Copy link
Copy Markdown
Contributor

semuelle commented Dec 6, 2021

Thanks for the update, @AdaLam7. We will review very soon. Could you remove the .gitignore file from the PR, though?

@semuelle
Copy link
Copy Markdown
Contributor

semuelle commented Dec 6, 2021

  1. Could you clarify what step 5 in the process (trigger on chain transfer) looks like? I understand that in step 4, Alice triggers a notification to Bob, and in step 6, Bob withdraws them. What is required in between? Wouldn't it be possible to trigger the notification and the payment in one step?

  2. Could you also clarify what you mean by "Module"? In the context of Substrate/Polkadot, this usually refers to a pallet.

  3. If I understand correctly, only the admin of the repository can recharge the wallet and create paid tasks, correct? I could see a situation where others might be interested in funding specific issues. For example, on StackOverflow anyone might offer a bounty for an open question, not just the original poster.

  4. Could you increase the minimum test coverage on each milestone? 50% is rather low.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 7, 2021

  1. trigger on chain transfer means dotpay platform call polkadot API to transfer DOT. I think notification and payment can be one step, it better notified after the payment is successful.
  2. Module means dotpay server function, for example a HTTP handle, or something like pallet, but now we only needs polkadot SDK, don't need create a pallet.
  3. Not only the repository owner can create paid tasks, I think anyone can trigger a payment when his account has enough DOT, and the repository is already active a webhook to dotpay. We will support StackOverflow reddit ... in the feature.
  4. I will increase test coverage to 70%

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 10, 2021

@Noc2 Thanks for your suggestions, our team is seriously discussing how to achieve as decentralized as possible.

The result of the discussion is that instead of storing the developer’s mnemonic, we can use the method of letting the developer bind the address. Developers only need to use the bind command to bind their first address, such as replying in a github issue /dotpay bind [address].

Regarding the security issue of the owner triggering the transfer, we will add stricter reminders to allow the owner to confirm his actions repeatedly.

I will add the design details to our document later~

@fanux fanux force-pushed the master branch 5 times, most recently from ce97c18 to a1c07e5 Compare December 12, 2021 04:50
@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 13, 2021

Let the owner does not need to recharge so that the entire dotpay asset be completely decentralized.

Address binding can solve part of the decentralization problem of the platform, and the platform no longer needs to record the developer's mnemonic.

However, the owner of the project still needs to recharge the platform account. This also has the problem of centralization. We can use the contract
To solve this problem, the platform assets can be completely decentralized.

This contract has three interfaces:

  1. Set the maximum amount and maximum total amount for each transaction
    set_limit(per_transfer_amount, total_transfer_amount)
    Only the owner of the project has the calling permission

  2. Set up the transfer whitelist
    set_witelist(username, address)
    Only the owner of the project has the calling permission

  3. Transfer interface
    transfer(address,amount)
    The platform has the calling permission

Benefits of this design:

  1. The platform no longer needs the owner to recharge, just need to sign a contract with the owner
  2. The platform does not have the authority to set a whitelist, ensuring that the platform cannot transfer funds to addresses other than the whitelist set by the owner
  3. The single maximum amount and the total amount set to a certain extent ensure the safety of the owner's funds

The above scheme will be executed when the Polkadot mainnet contract para chain is available, such as moonbeam or other support
Start on the premise that the ink! Parachain is available.

After processing in this way, the entire dotpay asset is completely decentralized.

@semuelle
Copy link
Copy Markdown
Contributor

Do I understand correctly that I would have to add every developer address to my whitelist to make sure that they can get paid when the task is completed?

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 14, 2021

@semuelle Yes, but don’t worry about the added complexity. When the developer performs the binding address operation, the robot will reply to the contract address and let the owner bind the whitelist. The owner only takes one more step. Or disable the whitelist, but some security will be lost, for example, the platform transfers assets to its own account through a contract (of course we will never do that)

Copy link
Copy Markdown
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update. Could you integrate things like the ink! smart contracts into the deliveries? Also for this grant, it’s not mandatory to deploy on polkadot. Actually I think it makes more sense to just use a local substrate chain or a testnet network during the development stage. It also makes it easier for us to test things.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 16, 2021

@Noc2 We have added the contract to the first milestone. At this stage, we provide ink! contract that can be run in a local Substrate Smart Contracts Node. In the feature, the platform will be integrating the contract when Polkadot mainnet parachain supports ink! contract~

Thank you again for your suggestions so that we can successfully find some more reasonable solutions : )

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 20, 2021

Hi~ @Noc2 Thanks a lot for your helpful suggestions, we've added relevant information about Milestones, could you please have a look and give me some suggestions ? I'd really appreciate it if you could let me know your opinion about it.
We sincerely hope that our project can expand ecological end users and continue to work with other teams to contribute to Polkadot ecology.
Thanks again and looking forward to hearing from you soon.

Copy link
Copy Markdown
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again for the update. I’m currently ooo, so it might take a little bit longer until I reply. But I would be willing to go ahead with milestone 1 and 2 for 30k (15k each). I’m still not fully convinced about the project, but this way you have the chance to work on it and we could sign a follow-up grant later for the last milestone or additional improvements. Also, you have shown that you clearly care about the project and this grant. If this sounds good to you, feel free to update the PR one more time.

@semuelle
Copy link
Copy Markdown
Contributor

@AdaLam7, thanks for the update, but I think what David was saying was that this grant would be about milestone 1 and 2, with the third milestone removed.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 23, 2021

Hi~ @Noc2 @semuelle Thanks for your helpful suggestions and we have already started the development project. Could you please let me know if there is anything we need to do about the process of applying for grant ?
Wish you a Merry Christmas.Thanks again and looking forward to hearing from you soon.

@semuelle
Copy link
Copy Markdown
Contributor

Hi @AdaLam7. Your proposal currently has two approvals out of three required. If a third committee member approves it, it is accepted and merged.

If there is no third committee member giving their approval within two weeks, the PR will be closed. I'm afraid you will have to wait until one of the two things happens.

@AdaLam7
Copy link
Copy Markdown
Contributor Author

AdaLam7 commented Dec 24, 2021

Hi~ @alxs We've updated relevant information about Milestones, could you please take a look as the proposal has two approvals out of three required so far and at the same time, we have already started the development project. I'd really appreciate it if you could let me know if there is anything we need to do about the process of applying for grant.
We sincerely hope that our project can expand ecological end users and continue to work with other teams to contribute to Polkadot ecology.
Wish you a Merry Christmas and looking forward to hearing from you soon.

Copy link
Copy Markdown
Contributor

@mmagician mmagician left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll also give my support for your application due to the continued improvements in the process that your team has demonstrated.

@mmagician mmagician merged commit ab2b654 into w3f:master Dec 29, 2021
@github-actions
Copy link
Copy Markdown
Contributor

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at grantsPR@web3.foundation and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready for review The project is ready to be reviewed by the committee members.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants