ERC-20
ERC-20, Ethereum blok zincirinde fungible token'lar oluşturmak için kullanılan, token davranışları için ortak bir kural seti tanımlayan teknik bir standarttır.
Ethereum Request for Comments 20 anlamına gelen ERC-20, Ethereum blok zincirindeki token'lar için standart bir arayüzdür. Token'ların nasıl davranması gerektiğine dair bir şablon sağlar; token transferleri, bakiye kontrolü ve işlemlerin onaylanması gibi işlevler içerir. Bu standardizasyon, farklı token'ların birbirleriyle ve Ethereum üzerine inşa edilmiş merkeziyetsiz uygulamalar (dApp'ler) ile sorunsuz bir şekilde etkileşim kurmasını sağlar. Hem token oluşturucular hem de kullanıcılar için uyumluluğu sağlar ve geliştirme sürecini basitleştirir.
ERC-20 standardı, totalSupply(), balanceOf(), transfer(), transferFrom(), approve() ve allowance() gibi işlevleri tanımlar. Bu işlevler, bir token'ın toplam arzını kontrol etme, bir kullanıcının token bakiyesini kontrol etme, adresler arasında token transfer etme ve bir üçüncü tarafın bir kullanıcı adına token harcamasına izin verme gibi temel token işlemlerini mümkün kılar. Bu standarda uymak, token'ların cüzdanlara, borsalara ve diğer Ethereum tabanlı platformlara kolayca entegre edilmesini sağlar.
graph LR
Center["ERC-20"]:::main
Pre_smart_contract["smart-contract"]:::pre --> Center
click Pre_smart_contract "/terms/smart-contract"
Pre_ethereum["ethereum"]:::pre --> Center
click Pre_ethereum "/terms/ethereum"
Pre_token["token"]:::pre --> Center
click Pre_token "/terms/token"
Center --> Child_stablecoin["stablecoin"]:::child
click Child_stablecoin "/terms/stablecoin"
Center --> Child_governance_token["governance-token"]:::child
click Child_governance_token "/terms/governance-token"
Rel_erc_721["erc-721"]:::related -.-> Center
click Rel_erc_721 "/terms/erc-721"
Rel_erc_1155["erc-1155"]:::related -.-> Center
click Rel_erc_1155 "/terms/erc-1155"
Rel_eips["eips"]:::related -.-> Center
click Rel_eips "/terms/eips"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
Think of ERC-20 like a universal remote control for digital money on [Ethereum](/tr/terms/ethereum). It makes sure all digital coins work the same way so your [wallet](/tr/terms/wallet) and other apps know how to send, receive, and check balances without needing special instructions for each coin.
🤓 Expert Deep Dive
The ERC-20 standard, codified in EIP-20, provides a foundational interface for fungible tokens on Ethereum. Its design prioritizes simplicity and broad compatibility, defining a minimal set of functions and events. The approve and transferFrom pattern is crucial for enabling decentralized exchanges (DEXs) and other protocols to act as token custodians without requiring direct token ownership. This pattern, however, introduces a potential attack vector: reentrancy. If a malicious contract calls back into the token contract after a transferFrom but before the balance is updated, it could potentially drain more tokens than intended. Robust implementations mitigate this through checks-effects-interactions pattern or reentrancy guards. The standard's fungibility implies that all token instances are identical, simplifying supply management but limiting expressiveness for unique digital assets. The absence of built-in minting or burning mechanisms means these functionalities must be explicitly coded into the contract, often leading to variations like MintableToken or BurnableToken contracts, which themselves can introduce additional security considerations.