ERC-20 Değiştirilebilir Token Standardı
Birbiriyle değiştirilebilir tokenlar oluşturmak için ERC-20 standardının belirtimlerini ve işlevlerini anlayın.
ERC-20 Değiştirilebilir Token Standardı, CoddyKit'te ücretsiz bir Blockchain Smart Contracts with Solidity dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Blockchain Smart Contracts with Solidity öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Blockchain Smart Contracts with Solidity kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Intro to Blockchain Tokens
Welcome to the world of blockchain tokens! Beyond cryptocurrencies like Ether, blockchains host many other digital assets.
These assets, often called 'tokens', can represent anything from digital currency to ownership of real-world items, or even voting rights in a decentralized organization.
Fungibility: Interchangeable Assets
A key concept for tokens is fungibility. What does it mean?
- Fungible: Each unit is identical and interchangeable with another. Like a dollar bill – one $1 bill is the same as any other $1 bill.
- Non-Fungible: Each unit is unique and cannot be replaced by another. Like a piece of art or a specific house.
ERC-20 tokens are fungible, meaning every token is equal to every other token of the same type.
Meet the ERC-20 Standard
ERC-20 (Ethereum Request for Comment 20) is a technical standard for fungible tokens on the Ethereum blockchain.
It defines a common set of rules that all compliant tokens must follow. This ensures they can interact seamlessly with wallets, exchanges, and other smart contracts.
Interoperability Through Standards
Why is a standard so important?
- Compatibility: Any wallet that supports ERC-20 can manage any ERC-20 token.
- Ecosystem Growth: Decentralized applications (dApps) can easily integrate different tokens.
- Predictable Behavior: Developers know exactly how an ERC-20 token will behave, making integration safer and faster.
Core Function: `totalSupply()`
The totalSupply() function returns the total number of tokens in existence. It's a public view function, meaning it doesn't change the blockchain state and costs no gas to call.
Try running this simple contract to see how totalSupply might be represented:
pragma solidity ^0.8.0;
contract SimpleTokenInfo {
uint256 public totalTokens = 1000; // Example supply
function totalSupply() public view returns (uint256) {
return totalTokens;
}
}Core Function: `balanceOf()`
The balanceOf(address account) function returns the token balance of a specific address. It helps you check how many tokens a user owns.
Let's add balanceOf to our example. The deployer will start with all tokens.
pragma solidity ^0.8.0;
contract SimpleTokenInfo {
uint256 public totalTokens = 1000;
mapping(address => uint256) public balances;
constructor() {
balances[msg.sender] = totalTokens; // Assign all to deployer
}
function totalSupply() public view returns (uint256) {
return totalTokens;
}
function balanceOf(address account) public view returns (uint256) {
return balances[account];
}
}Core Function: `transfer()`
The transfer(address recipient, uint256 amount) function allows the sender of the transaction to send tokens directly to another address.
This is the most common way to move tokens between users.
pragma solidity ^0.8.0;
contract SimpleTokenInfo {
uint256 public totalTokens = 1000;
mapping(address => uint256) public balances;
constructor() {
balances[msg.sender] = totalTokens;
}
function totalSupply() public view returns (uint256) {
return totalTokens;
}
function balanceOf(address account) public view returns (uint256) {
return balances[account];
}
function transfer(address recipient, uint256 amount) public returns (bool) {
require(balances[msg.sender] >= amount, "Insufficient balance");
balances[msg.sender] -= amount;
balances[recipient] += amount;
return true;
}
}Delegated Transfers: `approve()` & `allowance()`
ERC-20 also supports delegated transfers, where one user (the owner) allows another address (the spender) to move tokens on their behalf.
approve(address spender, uint256 amount): The owner grants permission to a spender to withdraw a specificamountof tokens.allowance(address owner, address spender): Returns the amount of tokens that thespenderis currently allowed to withdraw from theowner.
Executing Delegated Transfers: `transferFrom()`
Once an approve() call has been made, the designated spender can then use the transferFrom() function.
transferFrom(address sender, address recipient, uint256 amount): Allows a spender to transfer amount tokens from the sender's balance to the recipient, provided the spender has enough allowance from the sender.
Tracking Actions: ERC-20 Events
ERC-20 defines two standard events: Transfer and Approval. These events are crucial for off-chain applications (like wallets or block explorers) to track token movements and approvals without having to read the entire blockchain state.
They emit logs that can be efficiently indexed and queried.
pragma solidity ^0.8.0;
contract EventExample {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function demonstrateTransferEvent(address _to, uint256 _value) public {
// Imagine actual transfer logic here
emit Transfer(msg.sender, _to, _value);
}
function demonstrateApprovalEvent(address _spender, uint256 _value) public {
// Imagine actual approval logic here
emit Approval(msg.sender, _spender, _value);
}
}Check Your Understanding
The ERC-20 standard outlines specific functions that all compliant tokens must implement. Understanding these is crucial for working with tokens.
ERC-20: Your Token Blueprint
You've now learned about the ERC-20 Fungible Token Standard! It's the blueprint for most interchangeable tokens on Ethereum.
- It defines core functions like
totalSupply(),balanceOf(), andtransfer(). - It enables delegated transfers with
approve(),allowance(), andtransferFrom(). - Standard events
TransferandApprovalhelp track token activity.
This standard ensures that all ERC-20 tokens are compatible, making the Ethereum ecosystem robust and easy to navigate. Next, we'll dive into implementing your own ERC-20 token!
Sıkça Sorulan Sorular
“ERC-20 Değiştirilebilir Token Standardı” dersi ücretsiz mi?
Evet — “ERC-20 Değiştirilebilir Token Standardı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Blockchain Smart Contracts with Solidity kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Blockchain Smart Contracts with Solidity kursu toplamda 4 dersten oluşur.
“ERC-20 Değiştirilebilir Token Standardı” dersinde ne öğreneceğim?
Birbiriyle değiştirilebilir tokenlar oluşturmak için ERC-20 standardının belirtimlerini ve işlevlerini anlayın. Blockchain Smart Contracts with Solidity ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Blockchain Smart Contracts with Solidity öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Blockchain Smart Contracts with Solidity, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“ERC-20 Değiştirilebilir Token Standardı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Blockchain Smart Contracts with Solidity dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Blockchain Smart Contracts with Solidity dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- ERC-20 Değiştirilebilir Token Standardı
- ERC-20 Token Uygulama
- ERC-721 Değiştirilemez Tokenlar (NFT'ler)
- ERC-1155 Çoklu Token Standardı