跳到主要內容
JobCannon
全部技能

ERC-20 Token Standard

⬢ 層級 1技術
高
薪資影響
1 個月
學習時長
中等
難度
—
職業
一覽

ERC-20 is the Ethereum standard for fungible tokens (identical, interchangeable). Think of them like dollars, one unit equals another. ERC-20 contracts define balances, transfers, and approvals. Every major token (USDC, DAI, LINK) is ERC-20. Learning takes 1-2 weeks for Solidity devs; mastery (minting, burning, access control, security) takes 2-3 months. Senior token engineers earn $150K+ because poorly-designed tokens leak millions to hacks.

什麼是 ERC-20 Token Standard

ERC-20 is Ethereum's standard for fungible tokens, digital assets where each unit is identical and interchangeable. Think of them like dollars: one $1 bill equals another $1 bill. ERC-20 contracts implement a standard interface: balanceOf (check balance), transfer (send tokens), approve (allow someone else to spend), and transferFrom (spend approved tokens). Exchanges, wallets, and DeFi protocols understand ERC-20 because the interface is standardized. Deploy an ERC-20 contract and it automatically works on OpenSea, Uniswap, MetaMask, no integration needed.

🔧 工具與生態
SolidityOpenZeppelin contractsHardhat or TruffleWeb3.js or Ethers.jsMetaMaskRemix IDE

💰 各地區薪資

地區初級中級高級
USA$90,000$150,000$230,000
UK£55,000£92,000£140,000
EU€60,000€100,000€150,000
CANADACA$95,000CA$160,000CA$250,000

❓ 常見問題

What's the difference between transfer() and transferFrom()?
transfer: I send tokens directly from my wallet to someone else. transferFrom: Someone already approved me to spend X tokens, and I move them. Approve first, then transferFrom. Like pre-authorizing a merchant to charge your card.
Why do I need approve() before transferFrom()?
Security. If transfer was automatic, approving a contract to swap tokens would give it unlimited access to your wallet. Approve limits the contract's spending to a specific amount. Revoke approval when done.
What happens if total supply is unlimited?
Token value approaches zero due to inflation. Most tokens cap total supply. Some (like Ethereum's ETH) don't have a hard cap, but have emission schedules. Set totalSupply to a number and enforce it.
How do I implement taxes or fees on transfers?
Override transfer() and transferFrom(). Calculate 2% fee, send to treasury, transfer remaining 98% to recipient. But this breaks expected behavior, users send 100 tokens, receive 98. Consider this UX impact.
Can I make tokens non-transferable?
Yes. Override transfer and revert if !isOwner. Used for vesting tokens (employees can't sell for X years). Or use pausable pattern: owner can pause transfers globally.

不確定這項技能適不適合你?

做一下職業匹配,我們會推薦合適的方向。

找到最適合我的技能 →

找到理想的職業方向

在 2,521 個職業中進行技能匹配。免費。

免費做職業匹配 →