-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
create dairdrop application #2429
base: master
Are you sure you want to change the base?
Conversation
7a01fdc
to
cf1e65b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, thanks a lot for the application. It sounds very interesting and I also don't know about an existing solution that solves the issue of distributing airdops. I left a few comments and questions for you to review.
Looking forward to your answers :)
### Team's experience | ||
|
||
- weaver | ||
Five years of development experience with Polkadot, core code contributor in the Dota community, and involved in the development of multiple parachains. Possesses extensive experience in blockchain product development within the Polkadot and Ethereum ecosystems. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where can I see these contributions of yours that involve parachains or substrate development? On your github I only found your work on the dota indexer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where can I see these contributions of yours that involve parachains or substrate development? On your github I only found your work on the dota indexer.
In the past few years (from 2019 to the present), I have primarily developed in an anonymous state due to privacy concerns. I was previously employed by several parachain teams and was a core development member for them. If you're interested, we can discuss this privately.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great, please forward this private information via e-mail to [email protected].
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great, please forward this private information via e-mail to [email protected].
I will send you an email in a few days.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @jyaymusk , I don't think I have received an email from you yet. Can you still follow up on this? :)
applications/dairdrop.md
Outdated
| 1. | Substrate module: airdorp | An airdrop module that provides all on-chain functionalities related to airdrops | | ||
| 2. | Smart contracts: airdorp-ink| Implementation of the airdrop module using Ink. | | ||
| 3. | indexer| An on-chain airdrop activity indexer that monitors on-chain airdrop status in real time.| | ||
| 3. | backend | Provide all APIs needed for the app, including calculating the MD5 hash of the airdrop file, the Merkle root of the airdrop, Merkle proofs, and airdrop status. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the backend? I suppose the substrate pallet and the ink implementation serve directly as the backend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the backend? I suppose the substrate pallet and the ink implementation serve directly as the backend.
On-chain storage primarily contains the final state and completed Merkle proof verification. We need to provide an off-chain backend that allows users to obtain their Merkle proofs, submit transactions to claim airdrops, and access more information about the airdrop, such as progress, the number of participants, and which users have not yet participated. Additionally, anyone should be able to claim airdrops for others.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't this part of the web-service?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't this part of the web-service?
Yes, considering the PC app, I developed it as part of the public section. The web server simply calls the APIs it needs from there.
applications/dairdrop.md
Outdated
|
||
- **On-chain** | ||
- An airdrop pallet(substrate pallet) | ||
- Set airdrop: Merkle tree root, MD5 hash of the airdrop file, start date, end date, total airdrop amount (must be staked) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To what granularity will the merkle tree resolve? To each individual address? To a group of addresses which will always be claimed together? I'd love to hear more about the strategy. Have you conducted any research up to which address amount your solution is able to scale?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To what granularity will the merkle tree resolve? To each individual address? To a group of addresses which will always be claimed together? I'd love to hear more about the strategy. Have you conducted any research up to which address amount your solution is able to scale?
We will provide a complete Merkle tree for each airdrop event, which includes the airdrop information for every user and is stored in the backend. This will support up to 2^160 addresses.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you are storing all the addresses individually why do you need the merkle tree at all? Still do you have a more in depth design doc to share about your concept? I'd appreciate it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you are storing all the addresses individually why do you need the merkle tree at all? Still do you have a more in depth design doc to share about your concept? I'd appreciate it.
You can think of each airdrop event as a Merkle tree, where each person's airdrop information is stored in the leaves. They will receive their Merkle proof from here and then submit it to the chain for verification to obtain their airdrop amount.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is very flexible and scalable. By adding some information to each recipient's airdrop data, we can create conditional claims for everyone, which can be applied in gaming and social applications.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still keen to see a design document
Thank you very much for your outstanding work and responses. I'm very happy that we can discuss this application together. |
38a642c
to
e289b56
Compare
@PieWol, Thank you very much for your suggestions. I've updated the application accordingly. Regarding the desktop app issue, I agree that we should remove it, allowing us more time to focus on UX optimization and creating a product that is very user-friendly. However, our team is considering that community users are often non-technical and have diverse airdrop needs. Some may not want to provide a remote web service or might not know how to run a local program using Docker, which could impact community engagement and growth. If you have better suggestions, we are open to them. Our goal is to create an airdrop application that can be used in all scenarios. |
Hey @jyaymusk |
Thank you very much for your professionalism and patience. I hope my response addresses your questions. |
I will update the application in a few days. |
0fe63fa
to
233a0f2
Compare
@PieWol, I have updated the application. If there are any new questions, we would be very happy to discuss them with you and would appreciate your feedback. I will send you an email as soon as possible. Enjoy your weekend! |
d992f92
to
027f12e
Compare
Thank you very much for this proposal! A decentralized airdrop application is exactly what the Polkadot ecosystem needs, and at AIWeb3, we've been eagerly awaiting something like this for a long time. Do you think it could be integrated directly into our website? And when might this application be ready for use? Looking forward to seeing this in action! |
@idfree We hope to have it ready for use right after the launch of the Dota 2.0 network, which will still take about a month of development time. I'm very pleased that we share this common need, as it allows us to maintain it together in the future. Such an airdrop application will be very useful for community events, and in the future, we will only need to add a small code to create some gaming applications on Telegram or the web. If you have any better ideas, we can also consider adding more features. We envision that in the future, Polkadot airdrop creators will only need to select the network and connect their wallets on our webpage, and then simply click the Assets icon to quickly create or claim their airdrops. Imagine being able to create an airdrop for any Telegram or Discord group with just a click on a webpage. Isn't that cool? |
1d4a205
to
d6cb80c
Compare
Hey @jyaymusk , I have followed up on a few more comments. Feel free to start the KYC process already. I would also appreciate more in depth documentation about the concept of distributing airdrops. Anyways I'll share your application with the committee. |
Project Abstract
Decentralized airdrop application that does not must require a centralized server, and it can also create some community interaction games based on it. Based on this project, the community will explore more airdrop strategies within the Polkadot ecosystem and continuously improve the user experience in airdrops.
https://github.com/dota-network/Grants-Program/blob/master/applications/dairdrop.md
Grant level
Application Checklist
project_name.md
).@_______:matrix.org
(change the homeserver if you use a different one)