TokenTrackr, a Crypto-Portfolio app, is a single-page application (SPA) that allows users to manage their cryptocurrency tokens. It provides functionalities such as adding tokens to a watch list, viewing current and historical balances, checking token allowances, and performing token transfers. The app integrates with blockchain technology to provide real-time data and interact with smart contracts.
-
Wallet Connection
- Users can connect their Metamask wallet or input a wallet address manually.
-
Watch List
- Users can add tokens to a watch list and view the current balance, price and other details for each token.
-
Historical Data
- Users can fetch and display the historical balance of any token with a date picker for date range selection.
-
Allowance
- User can check token allowances for different smart contracts.
-
Token Allow/Transfer
- User can allow or transfer tokens to another address with fields for recipient address and amount.
-
Visual Representations
- Utilized tables and charts to display token balances and historical data.
- Frontend:
React.js
withNext.js
- Blockchain Interaction:
Ethers.js
withMetamask
-
CoinGecko: Used to fetch token history in the application. Also provides other cryptocurrency data like market capitalization, and trading volume. For details please refer CoinGecko API Documentation
-
CryptoCompare: Used to fetch cryptocurrency prices in the application. Also offers data on historical data, and market trends. For details please refer CryptoCompare API Documentation
- @metamask/sdk-react:
^0.11.2
- For Metamask integration. - ethers:
^6.0.0
- For interacting with the Ethereum blockchain. - react-datepicker:
^7.3.0
- For date selection in historical data. - recharts:
^2.12.7
- For charts and graphical representations. - react-toastify:
^10.0.5
- For notifications.
-
Clone the Repository
git clone https://github.com/Samya-S/TokenTrackr.git cd TokenTrackr
-
Install Dependencies
npm install
-
Environment Variables
Create a
.env.local
file in the root directory and add the following environment variables.INFURA_API_KEY=your_infura_api_key
-
Run the Application
npm run dev
Open your browser and go to http://localhost:3000 to view the application.
- Connect Wallet: Click on the button to connect Metamask or input a wallet address.
- Add Tokens: Use the watch list feature to add and manage tokens.
- View Balances: Check current and historical token balances.
- Check Allowance: Verify token allowances for smart contracts.
- Transfer Tokens: Enter recipient address and amount to transfer tokens.
The app includes various visual elements:
- Tables: Display token balances, price and other data.
- Charts: Represent historical data of tokens for dynamic time frame.
The application is deployed on Netlify (or another hosting service). You can access the live demo here: https://tokentrackr-ss.vercel.app.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License.