bitcoin-sv / bsv-faucet

https://bsv-faucet.vercel.app
MIT License
1 stars 11 forks source link

#09 User: Donate tokens back to Faucet #4

Open mo-jaber opened 1 week ago

mo-jaber commented 1 week ago

Description: BSV Testnet tokens are limited supply, provide a mechanism to allow deposits to return unused coins.

User story: As a user, I want to donate my unused or extra testnet coins back to the master treasury account, so that I can contribute to the faucet’s sustainability and reduce excess coins in circulation

Acceptance criteria:

ikemHood commented 1 week ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello @mo-jaber, I would love to handle this,

How I plan on tackling this issue

Implementation steps:

To test:

blessingbytes commented 6 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, i'm a frontend and blockchain developer, i will love to work on this issue

How I plan on tackling this issue

ShantelPeters commented 6 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

For the "Donate to Faucet" feature, I bring a strong background in full-stack web development, particularly in building user interfaces and handling backend transactions. My experience includes implementing role-based access controls and ensuring secure, efficient transactions in decentralized applications. I understand the importance of user experience and clarity in financial interactions, which will help me create a seamless donation process. I will leverage this knowledge to ensure that users can easily donate their testnet coins, view transaction confirmations, and track their donations effectively.

How I plan on tackling this issue

Approach to the Problem:

To implement the donation mechanism for unused testnet coins, I will begin by designing the user interface within the /dashboard section, ensuring that the "Donate to Faucet" option is easily accessible. I will display a verified master wallet address, allowing users to see where their donations will be sent.

Next, I will integrate a feature that enables users to select the amount of testnet coins they wish to donate from their available balance. After the user confirms the donation, I will create a transaction that transfers the specified amount to the master treasury faucet address.

To enhance user experience, I will implement a success message upon donation completion, along with the transaction ID that links to their donation in the /requests history page. Additionally, I will provide a link to the testnet explorer for tracking the transaction using the transaction ID.

Throughout the development process, I will ensure that the functionality aligns with the acceptance criteria, focusing on usability, security, and error handling to create a seamless donation experience for users.

emarc99 commented 6 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have a strong background in blockchain development, with expertise in writing Solidity, and fundamental knowledge of Cairo, and zero-knowledge proofs (zk). I have built dApps on Ethereum (and Scroll) using token standards; UniSwapv2 clone, Multi wallet, Gated NFT Event Management system, Crowdfunding. I also do FE/wallet integration using Reown, web3js and ethersjs. As well as subgraph for efficient indexing.

This experience enables me to design and implement a secure and efficient donation mechanism for the BSV Testnet, ensuring that users can easily contribute their unused coins to the master treasury while maintaining a seamless user experience.

How I plan on tackling this issue

1.0 Smart Contract Writing & Logic 1.1 Contract Design: Create a smart contract that defines the donation mechanism, the master wallet address as a verified constant address variable during deployment, and donations handling. 1.2 Transaction Logic: The contract would include necessary sanitary checks e.g. the user's balance, ensure the donation amount is valid, and implement transfer of approved tokens from the user to the master treasury/wallet address. 1.3 Event Emission: Implement events to log successful donations on testnet explorer.

2.0 Frontend Writing (React & Hooks) 2.1 User Interface Design: Create relevant layout (pages). Include a "Donate to Faucet" button and a form in /dashboard section for users to input donate amount. After a successful donation, show success message with React Toast and save the transaction details in the /requests history section. 2.2 State Management: Utilizing React hooks, handle user's balance, user inputs, master wallet address' balance. 2.3 Error Handling: Provide feedback to users in case of insufficient balance or transaction failures with React Toast.

3.0 Integration 3.1 Blockchain Interaction: Integrate the frontend with the smart contract using a Reown/Wagmi (RainbowKit), allowing users to interact with the blockchain directly from the UI. 3.2 Transaction Confirmation: After a user signs (confirms) their donation, the system should generate a transaction and send the selected amount to the master treasury. 3.3 Explorer Link: After the transaction is completed, generate a link to the testnet blockchain explorer from the UI so the user can track the donation. 3.4 History and Transaction Tracking: Save the transaction hash and details in the user's request history to make the donation traceable.

suhas-sensei commented 6 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

i have participated in tsoc and have prior experience with regard

aniruddhaaps commented 6 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a python dev . A new-comer here, willing and ready to contribute to solve the issue.

ikemHood commented 6 days ago

🚀