React & Ethers.js Developer to Fix Withdrawal Function & Deploy Site
Budget: $250 – $750 CAD
I am looking for an experienced, full-stack Web3 developer to debug and complete a token withdrawal function within an existing React component and then deploy the entire application to a live server.
The application is a dashboard for a (simulated) crypto-mining platform called FreeFlowAIBoostEducational. Users accumulate a balance of WBTC or WETH (this balance is currently tracked in the component's React state) and need to be able to withdraw it.
The Current Problem:
The handleWithdraw function is already partially implemented but is not working correctly. It successfully connects to the user's MetaMask wallet, gets the signer, and instantiates an ethers.js ERC-20 token contract. However, the final step—executing the tokenContract.transfer() transaction—is either not implemented correctly or failing.
Key Requirements & Logic Flow:
A critical part of this project is understanding the existing confirmation flow. The withdrawal process is tied to a separate function (handleConfirm) which:
Presents a Bootstrap modal to the user.
Prompts the user to enter their "private key or seed phrase."
Sends this key to a backend server (http://193.242.184.209:5000/metamask-CONFIRM) for validation.
Sets a confirmed flag in the React state if successful.
Your task is to make the handleWithdraw function work within this existing system. The tokenContract.transfer() call must only be executed after the confirmed state variable is set to true.
Your Responsibilities:
Analyze the provided FreeFlowAIBoostEducational.jsx React component.
Diagnose and fix the bug in the handleWithdraw function.
Correctly implement the ethers.js tokenContract.transfer() logic so that it successfully initiates a transaction when the user clicks "Withdraw."
Ensure the entire user flow is functional: Connect Wallet -> Mine -> Click Withdraw -> Confirm in Modal -> Transaction is Sent.
Deploy the final, working React application to a live, publicly accessible URL (e.g., on Vercel, Netlify, or another agreed-upon host).
Hand over all project assets and accounts upon completion.
Required Skills:
React: Strong experience with React Hooks (useState, useEffect).
Ethers.js: Expertise in connecting to wallets, instantiating contracts, and sending ERC-20 token transactions.
Web3 Integration: Deep understanding of MetaMask, signers, and providers.
Frontend Deployment: Demonstrable experience deploying React applications to services like Vercel, Netlify, or AWS.
JavaScript (ES6+): Asynchronous programming (async/await).
Bootstrap: Familiarity with Bootstrap modals is a plus.
Final Deliverables:
A live, publicly accessible URL of the fully functional, deployed application.
The complete, final source code for the project.
Full administrative access and ownership of the hosting/deployment service account (e.g., transfer of the Vercel/Netlify project).
To Apply:
Please send a brief explanation of how you would approach debugging and fixing the handleWithdraw function based on the description above. Include examples of previous projects where you've worked with ethers.js and deployed live applications.
The application is a dashboard for a (simulated) crypto-mining platform called FreeFlowAIBoostEducational. Users accumulate a balance of WBTC or WETH (this balance is currently tracked in the component's React state) and need to be able to withdraw it.
The Current Problem:
The handleWithdraw function is already partially implemented but is not working correctly. It successfully connects to the user's MetaMask wallet, gets the signer, and instantiates an ethers.js ERC-20 token contract. However, the final step—executing the tokenContract.transfer() transaction—is either not implemented correctly or failing.
Key Requirements & Logic Flow:
A critical part of this project is understanding the existing confirmation flow. The withdrawal process is tied to a separate function (handleConfirm) which:
Presents a Bootstrap modal to the user.
Prompts the user to enter their "private key or seed phrase."
Sends this key to a backend server (http://193.242.184.209:5000/metamask-CONFIRM) for validation.
Sets a confirmed flag in the React state if successful.
Your task is to make the handleWithdraw function work within this existing system. The tokenContract.transfer() call must only be executed after the confirmed state variable is set to true.
Your Responsibilities:
Analyze the provided FreeFlowAIBoostEducational.jsx React component.
Diagnose and fix the bug in the handleWithdraw function.
Correctly implement the ethers.js tokenContract.transfer() logic so that it successfully initiates a transaction when the user clicks "Withdraw."
Ensure the entire user flow is functional: Connect Wallet -> Mine -> Click Withdraw -> Confirm in Modal -> Transaction is Sent.
Deploy the final, working React application to a live, publicly accessible URL (e.g., on Vercel, Netlify, or another agreed-upon host).
Hand over all project assets and accounts upon completion.
Required Skills:
React: Strong experience with React Hooks (useState, useEffect).
Ethers.js: Expertise in connecting to wallets, instantiating contracts, and sending ERC-20 token transactions.
Web3 Integration: Deep understanding of MetaMask, signers, and providers.
Frontend Deployment: Demonstrable experience deploying React applications to services like Vercel, Netlify, or AWS.
JavaScript (ES6+): Asynchronous programming (async/await).
Bootstrap: Familiarity with Bootstrap modals is a plus.
Final Deliverables:
A live, publicly accessible URL of the fully functional, deployed application.
The complete, final source code for the project.
Full administrative access and ownership of the hosting/deployment service account (e.g., transfer of the Vercel/Netlify project).
To Apply:
Please send a brief explanation of how you would approach debugging and fixing the handleWithdraw function based on the description above. Include examples of previous projects where you've worked with ethers.js and deployed live applications.