Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add imbue network grant application #703

Merged
merged 1 commit into from
Dec 1, 2021

Conversation

samelamin
Copy link
Contributor

@samelamin samelamin commented Nov 18, 2021

Project Abstract

Please provide a brief description of your project here summarising key points (1-2 paragraphs).

If your application is a follow-up to a previous grant, please mention which one in the first line of the abstract and include a link to previous pull requests if applicable.

For which grant level are you applying?

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $50,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

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

CLAassistant commented Nov 18, 2021

CLA assistant check
All committers have signed the CLA.

@samelamin samelamin changed the title add imbue network application add imbue network grant application Nov 18, 2021
@semuelle
Copy link
Member

semuelle commented Nov 18, 2021

Thank you for the application. We will look into it as soon as possible.

In the meantime, could you expand the specification of the deliverables a bit? Our FAQ (see What activities/positions do you fund?) and grant category guidelines might be of help.

@samelamin
Copy link
Contributor Author

samelamin commented Nov 18, 2021

@semuelle thanks, happy to flesh it out a bit. I added a lucid chart flow as well as more details on the pallet functions

We will be working on adding the signatures of each pallet call/extrinsic over the next few weeks.

Copy link
Collaborator

@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. Could you update the costs, so it’s clear how much funding you want to receive per milestone? If I understand correctly you are not applying for 150k but only for 50k. Although I have to say that 60k is a lot of a single pallet (milestone 1) or will you also deliver a UI as part of this milestone? Currently it says “We will hire a front end dev to implement a DAPP to display proposals which have been stored onchain”, which is hard to evaluate for us and only means that you will hire someone to work on it, as far as I understand it. Furthermore how is the Democracy pallet different from existing implementations like the on-chain treasury?

@Noc2 Noc2 self-assigned this Nov 18, 2021
@Noc2 Noc2 added the changes requested The team needs to clarify a few things first. label Nov 18, 2021
@samelamin
Copy link
Contributor Author

samelamin commented Nov 18, 2021

Thanks for the application. Could you update the costs, so it’s clear how much funding you want to receive per milestone? If I understand correctly you are not applying for 150k but only for 50k. Although I have to say that 60k is a lot of a single pallet (milestone 1) or will you also deliver a UI as part of this milestone? Currently it says “We will hire a front end dev to implement a DAPP to display proposals which have been stored onchain”, which is hard to evaluate for us and only means that you will hire someone to work on it, as far as I understand it. Furthermore how is the Democracy pallet different from existing implementations like the on-chain treasury?

Thank you so much for the detailed feedback. It's clear I need to add more details so this feedback is much appreciated!

Yes only requesting $50k but wanted to also add the fact that the founders are putting 2x the amount requested
I will highlight that and amend the milestones to a total of 50k only to make it clearer.

We estimate the cost to complete milestone 1 is $20k. but we also attributed the 2x that founders will be putting in which made it 60k. But honestly, that 60k won't be used for the pallet functionality alone so it doesn't make sense to add it to this document. Thanks for highlighting.

The UI delivery is split between milestones 1/2. Essentially it's giving a UI to vote on proposals/milestones using a polkadotJS wallet.

UI - Milestone 1 will allow proposers to submit a proposal
UI - Milestone 2 allow votes on a proposer/milestones

The democracy pallet is different because it's voting on a milestone rather than just a proposal. Once a vote succeeds we need to only unlock the partial amount defined in the proposal for that milestone

Perhaps we can reuse the democracy pallet itself which will mean we do not need a separate pallet to vote on milestones, but we will need to do some research if that is possible

Copy link
Collaborator

@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.

Regarding the UI, do you already have some mockups or could you share more information about it (programming language, etc.)? Regarding reusing the Democracy Pallet and potentially the Treasury Pallet, it would be nice to have more details about the scope before we sign the grant. So, the milestone delivery doesn’t end up to be a slightly changed treasury and democracy pallet. Also feel free to remove Kusama or Polkadot launch from the deliveries, since this is something we can not influence and we usually only focus on the open source code and not things like deployment. Furthermore, “Refine the UI based on feedback from the previous rounds.”, is also quite hard to define. For example we could complain about a lot of things during the milestone delivery process, which would require a complete redesign of the UI.

@samelamin
Copy link
Contributor Author

samelamin commented Nov 22, 2021

Regarding the UI, do you already have some mockups or could you share more information about it (programming language, etc.)? Regarding reusing the Democracy Pallet and potentially the Treasury Pallet, it would be nice to have more details about the scope before we sign the grant. So, the milestone delivery doesn’t end up to be a slightly changed treasury and democracy pallet. Also feel free to remove Kusama or Polkadot launch from the deliveries, since this is something we can not influence and we usually only focus on the open source code and not things like deployment. Furthermore, “Refine the UI based on feedback from the previous rounds.”, is also quite hard to define. For example we could complain about a lot of things during the milestone delivery process, which would require a complete redesign of the UI.

Thanks for the useful feedback, this is great please keep them coming!

  1. The UI mockups can be found here. The UI will be written in node/polkadotJS to interact with wallets for actions.
    They are also added to the grant
- https://github.com/ImbueNetwork/website-assets/blob/main/templates/new-project.jpg
- https://github.com/ImbueNetwork/website-assets/blob/main/templates/project-details-page.jpg
- https://github.com/ImbueNetwork/website-assets/blob/main/templates/projects.jpg
  1. Added more details regarding the flow. My thinking for V1 is we can initialise a vote via the democracy pallet for proposals/milestones and have the treasury payout, each of these actions will be initialised/approved by a council. That would reduce the need for rework and redesigning the wheel. But eventually, I want the milestones voted on by the DAO and not require a council at all

  2. Removed Kusama/Dot launches

  3. I have removed it. That said Ideally, I want this to be community-driven, hence the public board. I wanted it to be on the milestone to communicate the fact that we are committed to listening to feedback from day 1, even if it means redesigning the UI to what is seen best by yourselves and the community. I very much would like a way of demonstrating that commitment publicly

@samelamin samelamin requested a review from Noc2 November 22, 2021 10:38
@samelamin samelamin force-pushed the add_imbue_application branch 2 times, most recently from 7808ce9 to 1ec2583 Compare November 22, 2021 11:12
@samelamin
Copy link
Contributor Author

@Noc2 let me know if the changes require further details

@alxs
Copy link
Contributor

alxs commented Nov 23, 2021

@samelamin I have to agree with David here, this just sounds very similar to treasury + democracy. You could just combine these pallets, tweak them a little bit and you'd be done. While I like the idea, to be honest I think the deliverables themselves aren't all that interesting and I'm sorry to say I likely won't approve this. In any case, you should probably completely remove milestone 3 and I also suggest you remove the token name from the application, since the focus should lie on the technical implementation.

@samelamin
Copy link
Contributor Author

samelamin commented Nov 23, 2021

@samelamin I have to agree with David here, this just sounds very similar to treasury + democracy. You could just combine these pallets, tweak them a little bit and you'd be done. While I like the idea, to be honest I think the deliverables themselves aren't all that interesting and I'm sorry to say I likely won't approve this. In any case, you should probably completely remove milestone 3 and I also suggest you remove the token name from the application, since the focus should lie on the technical implementation.

@alxs thank you for the feedback. I appreciate your point of view and perhaps the fact that I am creating a token means I should not be applying for a grant

I am happy to close this grant application if @Noc2 also feels the same as you

We were planning to build this out whether we got the grant or not as we feel the polkadot ecosystem has a funding problem. Statemint will go a long way to resolve this for now but as far as I am aware there is still no clear way for a new project to get funding outside VCs. There is also the governance element that is missing from the ecosystem both of which are what we are trying to solve here.

The value I was hoping to receive from the grant is not the $50k alone but in reality the feedback and guidance to ensure this is built in the right way which benefits the ecosystem as a whole

Copy link
Collaborator

@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. I definitely think the UI is worth receiving funding and also potentially changing the pallets and adapting this makes sense in my opinion. How about you remove milestone 3 for now and we only fund milestone 1 + 2 for 15k each? So 30k in total. This way we also see what exactly you are going to change and are able to provide feedback and we can always sign additional follow-up grants later or amend the contract in case the scope changes. Btw. Are you going to use react for the UI?

@samelamin
Copy link
Contributor Author

samelamin commented Nov 24, 2021

Thanks for the update. I definitely think the UI is worth receiving funding and also potentially changing the pallets and adapting this makes sense in my opinion. How about you remove milestone 3 for now and we only fund milestone 1 + 2 for 15k each? So 30k in total. This way we also see what exactly you are going to change and are able to provide feedback and we can always sign additional follow-up grants later or amend the contract in case the scope changes. Btw. Are you going to use react for the UI?

Hi @Noc2 that seems fair, I removed milestone 3. Happy with the $30k total.

The plan was to use a mixture of Node and Typescript for the UI but happy to build it out in React. This really just depends on whether we can find the resources. That said, I am confident we can get a react resource in

@samelamin samelamin requested a review from Noc2 November 24, 2021 09:20
Noc2
Noc2 previously approved these changes Nov 24, 2021
Copy link
Collaborator

@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. I will share it with the rest of the team.

@Noc2 Noc2 added ready for review The project is ready to be reviewed by the committee members. and removed changes requested The team needs to clarify a few things first. labels Nov 24, 2021
BenWhiteJam
BenWhiteJam previously approved these changes Nov 25, 2021
@samelamin
Copy link
Contributor Author

Thank you @BenWhiteJam @Noc2 for your approvals!

If you don't mind me asking, the template says I need 3 approvals but the PR says I need 5

Did I perhaps make a mistake in the PR?

@Noc2
Copy link
Collaborator

Noc2 commented Nov 25, 2021

No, GitHub only allows you to adjust the number of approvals based on the branch and not per PR. We will merge it manually after 3 approvals.

@semuelle
Copy link
Member

Hi @samelamin, thanks again for the application. I finally had time to review and, while I agree with David and Aleixo that there is quite an overlap with existing pallets, I also think the project might be very useful if done well. I have some questions:

  • Why a parachain? Have you considered writing this in ink!?
  • Who holds IMBU tokens? Do I get tokens for providing funds?
  • What does the voting mechanism look like? Does each vote require a quorum, or is it simple majority? Are the tokens locked for submitting/supporting a proposal or voting on a milestone? Or is there any way to prevent a single whale from blocking anything that's not in their interest, like conviction voting?
  • Have you considered wrapping all this functionality under a DAO framework and allowing others to start their own (possibly specialised) funding DAO (a community of communities, if you will)? Perhaps in a way that would allow DAOs to share the cost of a grant?

Other than that, some features (beyond this grant) I'm sure you have already thought about, but that I would find useful to have:

  • Allow modifying milestones after grant approval (speaking from experience),
  • more structure around a project (deliverables, deadlines, etc.),
  • a forum on each project for people to discuss and voice their opinion,
  • use data from identity pallet to de-anonymise applicants/grantees,
  • a reputation system (e.g. Applicant has successfully delivered two projects previously)

@samelamin
Copy link
Contributor Author

samelamin commented Nov 26, 2021

Hi @samelamin, thanks again for the application. I finally had time to review and, while I agree with David and Aleixo that there is quite an overlap with existing pallets, I also think the project might be very useful if done well. I have some questions:

  • Why a parachain? Have you considered writing this in ink!?
  • Who holds IMBU tokens? Do I get tokens for providing funds?
  • What does the voting mechanism look like? Does each vote require a quorum, or is it simple majority? Are the tokens locked for submitting/supporting a proposal or voting on a milestone? Or is there any way to prevent a single whale from blocking anything that's not in their interest, like conviction voting?
  • Have you considered wrapping all this functionality under a DAO framework and allowing others to start their own (possibly specialised) funding DAO (a community of communities, if you will)? Perhaps in a way that would allow DAOs to share the cost of a grant?

Other than that, some features (beyond this grant) I'm sure you have already thought about, but that I would find useful to have:

  • Allow modifying milestones after grant approval (speaking from experience),
  • more structure around a project (deliverables, deadlines, etc.),
  • a forum on each project for people to discuss and voice their opinion,
  • use data from identity pallet to de-anonymise applicants/grantees,
  • a reputation system (e.g. Applicant has successfully delivered two projects previously)

Hi @semuelle thanks so much for the feedback

  • Why parachain ->. because I wanted it to be its own blockchain and utilise statemint as well as communicate to other chains to facilitate future integrations/partnerships. for example, accepting being funded in KUSD/USDC/USDT or any other currencies, another interesting application might be how we can use statemint to hold these funds

  • Anyone who wants to fund future projects. Anyone that wants to be part of the DAO. We are considering rewarding you some more if you vote, a form of staking to incentivise people to vote

  • For MVP I was thinking of simple majority, but as soon as MVP is done we can take feedback from the community on how to run votes in future. The funds are also locked pending voting but it's the proposal that defines their milestones and thus how much is locked. We prevent a whale by only allowing the funders to vote on milestones. in other words you are only a whale in terms of how much you funded, and if you are then you deserve the most say as you are at risk of losing the most. Funds will then be unlocked in stages as per the milestones

  • We certainly want to become a DAO so anything that helps with that goal is considered. One for potential milestone 3?

  • All these features are amazing and we definitely did not think of some of them. This is exactly why I wanted the grant, to be able to discuss features like this. This can also be integrated in milestone 3

I love some of these ideas and we will almost certainly want to implement them for milestone 3. My goal is to ensure we deliver the MVP in less than 6 months, my only hesitation about adding some of these ideas - esp the DAO framework, I really like that idea and I think we will end up doing that given how much it could benefit the ecosystem - is that they are a known unknown. I.e I am slightly concerned it might delay a release

Is it unreasonable to add them to milestone 3? or are they a blocker for this grant

@semuelle
Copy link
Member

Is it unreasonable to add them to milestone 3? or are they a blocker for this grant

My suggestion would be to expand the description of the pallet deliverables of M1 and M2 to illustrate the differences to existing pallets, and then, where reasonable, add some features. For example, the treasury pallet doesn't allow modification after creation and only includes value and beneficiary address.

Anyone who wants to fund future projects. Anyone that wants to be part of the DAO.

Can you explain a bit more what your plan for the token is? It is the native parachain token, right? Have you considered implementing a DAO-specific token that represents a share in the DAO funds? A separation of concerns might be beneficial here. And will grants be denominated in $, like in the example you provided, or in IMBU? Token-based grants encourage speculation, which is one of the reasons why we started denominating grants in USD.

#Update 1. Added more wireframes
#Update 2. Added more details around how the flow will work
#Update 3. Remove milestone 3 and reduce costs to 30k
#Update 4. Add more pallet information
@samelamin
Copy link
Contributor Author

samelamin commented Nov 29, 2021

Is it unreasonable to add them to milestone 3? or are they a blocker for this grant

My suggestion would be to expand the description of the pallet deliverables of M1 and M2 to illustrate the differences to existing pallets, and then, where reasonable, add some features. For example, the treasury pallet doesn't allow modification after creation and only includes value and beneficiary address.

Anyone who wants to fund future projects. Anyone that wants to be part of the DAO.

Can you explain a bit more what your plan for the token is? It is the native parachain token, right? Have you considered implementing a DAO-specific token that represents a share in the DAO funds? A separation of concerns might be beneficial here. And will grants be denominated in $, like in the example you provided, or in IMBU? Token-based grants encourage speculation, which is one of the reasons why we started denominating grants in USD.

Thanks @semuelle I have added more details around the pallets. I also agree with you, As far as I am aware no pallet gives us the functionality of awarding a grant in stages. This is crucial to give the DAO protection of its funds

Regarding what currencies we fund, we certainly thought about his because the core utility of the Imbu token is governance

We will eventually build the ability to fund in a stable token but for MVP I wanted to keep it simple enough that you can receive funding in the native Imbu token

However, that said assuming MVP gets built we can iterate over it to add stable currencies. To be clear though I don't want to create a new stable coin and would rather reuse what is already there either in ERC-20 or ones that are substrate native

I was actually hoping to see how we can utilise statemint for this?

I am well aware that funding in the IMBU token might cause volatility as projects cash out the funds they requested, and the need for a $ alternative is essential. It very much might be a key milestone for the next set of milestones we will build alongside a DAO framework

Copy link
Member

@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.

Thanks for the update, @samelamin. I would have liked to get a more thorough definition of the pallet structures, but I also understand that this is early in the project and that you don't want to build everything at once. I hope it goes well and we see some exciting new ideas for Milestone 3. :)

@Noc2 Noc2 merged commit fea9f46 into w3f:master Dec 1, 2021
@github-actions
Copy link
Contributor

github-actions bot commented Dec 1, 2021

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! 🚀

@samelamin
Copy link
Contributor Author

Thank you all so so so much! Really excited to build this!

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.

None yet

6 participants