This project consists of a decentralized application (DApp) for managing token vesting for various stakeholders in a web3 organization. It features an Ethereum smart contract backend written in Solidity and a React frontend with Tailwind CSS, powered by Vite.
The smart contract backend includes two main contracts:
- CustomToken: A simple ERC20 token contract.
- TokenVestingVII: A contract that manages token vesting schedules for different stakeholder categories like Community, Validators, Investors, etc.
The frontend is a React application using Tailwind CSS for styling, and Vite as the build tool. It allows organizations to register, create vesting schedules, whitelist addresses, and enables stakeholders to claim their vested tokens.
Ensure you have the following installed:
- Node.js (LTS version)
- Yarn or npm
- MetaMask or a similar Ethereum wallet browser extension
-
Clone the repository:
git clone https://github.com/Lukman-01/Token_Vesting_Schedule.git cd Token_Vesting_Schedule
-
Install dependencies for the smart contract:
cd smart_contract npm install
-
Deploy the smart contract:
- Update the deployment scripts with your Ethereum network details.
- Deploy using Hardhat.
-
Install dependencies for the frontend:
cd ../frontend npm install
-
Configure the frontend:
- Set up the
.env
file with the smart contract addresses and any other necessary configurations.
- Set up the
-
Run the frontend application:
npm run dev
The application should now be running on
http://localhost:5173
(or another port if specified).
-
Organization Registration:
- Use the frontend interface to register an organization and create an ERC20 token.
-
Setting Vesting Schedules:
- Specify the stakeholder type and their vesting period.
-
Whitelisting Addresses:
- Whitelist addresses for different stakeholders.
-
Claiming Tokens:
- Whitelisted addresses can claim their tokens after the vesting period via the frontend interface.
Blockchain Enthusiasts: Abdulyekeen Lukman [https://www.linkedin.com/in/lukman-abdulyekeen-75746323a/]
This project is licensed under the MIT License - see the LICENSE.md file for details.