ERC20Manager is a monorepo project designed to manage all ERC-20 tokens on Ethereum for a user. It provides functionalities such as creating new tokens, minting, burning, transferring, and querying token balances. The project is built using a modular architecture to support extensibility and scalability.
- Create new ERC-20 tokens with customizable parameters (name, symbol, decimals, initial supply, etc.).
- Mint new tokens to specified addresses.
- Burn tokens to reduce supply.
- Transfer tokens between accounts.
- Approve and allow token spending.
- Query token balances and allowances.
- Batch Operations for efficient token management.
This monorepo follows a modular structure using Turborepo to manage multiple packages efficiently.
/erc20manager
│── packages/
│ │── contracts/ # Solidity smart contracts
│ │── sdk/ # JavaScript/TypeScript SDK for interacting with contracts (TODO)
│── apps/
│ │── web-app/ # Frontend UI for token management
│ │── api/ # Backend services for handling requests
│── docs/ # Documentation and guides
│── scripts/ # Deployment and automation scripts
│── tests/ # Unit and integration tests
│── .env # Environment variables
│── package.json # Monorepo package configuration
│── README.md # Project overview and usage guide
To work with Turborepo Some basic command:
Ensure you have the following installed:
- Node.js (>= 18.x)
- Pnpm (>= 9.15.x)
- Hardhat (for smart contract development)
- Ethereum Wallet (e.g., MetaMask extension, Hardhat local node)
git clone https://github.com/vuonghuuhung/erc20manager
cd erc20manager
pnpm installCreate a .env file at the root directory with the following variables:
(TODO)(TODO)(TODO)TODO;This project uses Turborepo for efficient monorepo management. Here are some basic commands:
- Install a package across all workspaces:
pnpm install <package> --w
- Install a package for a specific workspace:
pnpm install <package> --filter=<workspace>
- Start APIs and the web app:
pnpm run dev
Before pushing changes to GitHub, ensure to run:
pnpm run lint & pnpm run buildpnpm test- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature. - Commit your changes:
git commit -m "Add new feature". - Push to the branch:
git push origin feature/your-feature. - Open a Pull Request.
This project is licensed under the MIT License. See LICENSE for more details.