Skip to content

dalva-code/SkillTradeToken

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🪙 SkillTradeToken – Custom ERC20 Token with Advanced Control

📝 Overview

SkillTradeToken (SKLT) is a custom ERC20 token deployed on the Arbitrum One network. This token integrates advanced administrative features, including pausable functionality, address blacklisting, and customizable airdrops.

Built for experimentation and education, this smart contract simulates real-world token control features often found in modern Web3 platforms and DAOs.


✨ Features

  1. 🔐 Admin Controls
    • Only the deployer (owner) can pause/unpause or manage blacklists.
  2. ⏸️ Emergency Pause
    • Temporarily disable all token transfers via pause() and resume with unpause().
  3. 🚫 Address Blacklist
    • Prevent malicious addresses from sending or receiving tokens.
  4. 📤 Airdrops
    • Distribute tokens to multiple recipients with a single call.
  5. 📦 Full ERC20 Compliance
    • Supports transfer, approve, transferFrom, balanceOf, totalSupply, etc.

🔧 Smart Contract Summary

Function Description
pause() Pauses all transfers
unpause() Resumes all transfers
blacklist(address) Blocks an address from transferring/receiving tokens
removeFromBlacklist(address) Unblocks an address
airdrop(address[], uint256[]) Distributes tokens in bulk
transfer(address, uint256) Standard ERC20 transfer
balanceOf(address) Returns current balance of a given address

⚙️ Prerequisites


🚀 Deployment & Test Guide

1️⃣ Deploy the Contract

  • Open Remix IDE.
  • Paste the SkillTradeToken.sol code into a new file.
  • Compile with version 0.8.20.
  • Go to "Deploy & Run" tab:
    • Environment: Injected Provider - MetaMask
    • Network: Arbitrum One
    • Deploy with no constructor arguments.

2️⃣ Post-Deployment Actions

  • Import token to MetaMask
    • Use contract address from Blockscout
    • Token symbol: SKLT
    • Decimals: 18

🔬 Test Scenarios Completed

✅ Feature Test Summary
Token Creation 1,000 SKLT minted at deployment to owner
Pause / Unpause Paused transfers successfully blocked transfers, resumed with unpause()
Transfer Sent 1 SKLT from owner to secondary MetaMask wallet
Blacklist Prevented blacklisted address from transferring tokens
Remove Blacklist Successfully restored transfer access after removing from blacklist
Airdrop Sent batch tokens to multiple addresses using airdrop()
Visibility Token appears correctly in MetaMask on both sender and receiver wallets

🧠 Architecture Notes

  • Inherits from OpenZeppelin contracts: ERC20, Ownable, Pausable
  • Uses custom mappings for blacklist logic.
  • Emits standard ERC20 Transfer events + custom Paused/Unpaused.

📸 Screenshots & Deployment Proof

  • Blockscout transaction links
  • MetaMask token balances
  • Remix logs

🚀 Future Enhancements

  1. 🧠 Role-based Access (e.g., using OpenZeppelin AccessControl)
  2. 🌍 Front-end interface (React/Next.js dashboard)
  3. 🧾 On-chain metadata for reputation or utility
  4. ⚖️ DAO-based governance
  5. 🔁 Staking or burning mechanisms

📜 License

This project is released under the MIT License.

About

ERC20 Token with burn, pause, blacklist and airdrop functionalities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors