Web3 & DApp Development Fundamentals · Ders

ERC Standartları (ERC-20, ERC-721)

Değiştirilebilir tokenler için ERC-20 ve değiştirilemez tokenler (NFT) için ERC-721 gibi yaygın Ethereum Request for Comments (ERC) standartlarını inceleyin.

1. ders / 311 adım

ERC Standartları (ERC-20, ERC-721), CoddyKit'te ücretsiz bir Web3 & DApp Development Fundamentals dersidir. Bu, 3 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, Web3 & DApp Development Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Web3 & DApp Development Fundamentals kursu toplamda 3 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

What are ERC Standards?

ERC stands for Ethereum Request for Comments. These are official proposals that define specific rules and functionalities for smart contracts on the Ethereum blockchain.

Think of them as blueprints or common agreements. They ensure that different contracts and applications can 'speak the same language' and interact seamlessly.

Understanding ERC-20 Tokens

An ERC-20 token is a standard for fungible tokens. Fungible means each unit is identical and interchangeable with another, just like regular currency.

If you have one dollar, it's the same as any other dollar. ERC-20 tokens are used for cryptocurrencies, stablecoins, and utility tokens.

ERC-20: Basic Operations

The ERC-20 standard defines a set of functions and events that all compliant tokens must implement. Key functions include:

  • totalSupply(): Returns the total number of tokens.
  • balanceOf(address account): Gets the balance of an address.
  • transfer(address recipient, uint256 amount): Sends tokens from the caller to a recipient.

ERC-20: Simple Transfer

Here's a simplified contract demonstrating the core idea of an ERC-20 token's transfer function. It manages balances and allows sending tokens.

Try deploying this in Remix and transferring tokens!

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.0;

    contract SimpleToken {
        string public name = "MySimpleToken";
        string public symbol = "MST";
        uint8 public decimals = 18;
        uint256 public totalSupply = 1000000 * (10 ** decimals);

        mapping(address => uint256) public balances;

        constructor() {
            balances[msg.sender] = totalSupply;
        }

        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;
        }

        function balanceOf(address account)
            public view returns (uint256)
        {
            return balances[account];
        }
    }

ERC-20: Approve & TransferFrom

To allow other contracts (like decentralized exchanges) to spend tokens on your behalf, ERC-20 uses allowances:

  • approve(address spender, uint256 amount): Allows a spender to withdraw up to amount from your account.
  • transferFrom(address sender, address recipient, uint256 amount): Transfers tokens from sender to recipient, usually called by a spender who has an allowance.

Introducing ERC-721 NFTs

ERC-721 tokens are for non-fungible tokens (NFTs). Non-fungible means each token is unique and cannot be replaced by another.

Think of a unique piece of art or a specific collectible card. NFTs are used for digital art, unique game items, land in virtual worlds, and more.

ERC-721: Ownership & Transfers

The ERC-721 standard also defines specific functions:

  • ownerOf(uint256 tokenId): Returns the owner of a specific token ID.
  • balanceOf(address owner): Returns the number of NFTs an owner has.
  • safeTransferFrom(address from, address to, uint256 tokenId): Safely transfers a specific NFT from one address to another.

ERC-721: Simple NFT Minting

This contract shows a basic way to 'mint' (create) unique NFTs and track their ownership. Each NFT has a unique tokenId.

After deploying, try calling the mint function multiple times!

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.0;

    contract SimpleNFT {
        string public name = "MySimpleNFT";
        string public symbol = "SNFT";
        uint256 private _nextTokenId;

        mapping(uint256 => address) public ownerOf;
        mapping(address => uint256) public balanceOf;

        constructor() {
            _nextTokenId = 0;
        }

        function mint(address recipient)
            public returns (uint256)
        {
            _nextTokenId++;
            uint256 newTokenId = _nextTokenId;
            ownerOf[newTokenId] = recipient;
            balanceOf[recipient]++;
            return newTokenId;
        }
    }

ERC-20 vs. ERC-721: Key Differences

Here's a quick comparison:

  • Fungibility: ERC-20 tokens are fungible (interchangeable); ERC-721 tokens are non-fungible (unique).
  • Uniqueness: ERC-20 tokens are tracked by quantity; ERC-721 tokens are tracked by unique IDs.
  • Use Cases: ERC-20 for currencies, voting rights; ERC-721 for digital art, collectibles, deeds.

Identify the Standards

Which of the following statements correctly describe the characteristics or use cases of ERC-20 and ERC-721 tokens?

Recap: ERC Standards

We've explored two foundational Ethereum standards:

  • ERC-20 for fungible tokens, ideal for currencies and utility tokens.
  • ERC-721 for non-fungible tokens (NFTs), perfect for unique digital assets like art and collectibles.

These standards are crucial for interoperability and building a wide range of DApps on Ethereum.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Web3 & DApp Development Fundamentals öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
29
Dersler
105

Sıkça Sorulan Sorular

“ERC Standartları (ERC-20, ERC-721)” dersi ücretsiz mi?

Evet — “ERC Standartları (ERC-20, ERC-721)” 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 Web3 & DApp Development Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Web3 & DApp Development Fundamentals kursu toplamda 3 dersten oluşur.

“ERC Standartları (ERC-20, ERC-721)” dersinde ne öğreneceğim?

Değiştirilebilir tokenler için ERC-20 ve değiştirilemez tokenler (NFT) için ERC-721 gibi yaygın Ethereum Request for Comments (ERC) standartlarını inceleyin. Web3 & DApp Development Fundamentals 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.

Web3 & DApp Development Fundamentals öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Web3 & DApp Development Fundamentals, 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, 3 dersinin 1. dersidir.

“ERC Standartları (ERC-20, ERC-721)” 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 Web3 & DApp Development Fundamentals dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Web3 & DApp Development Fundamentals 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

  1. ERC Standartları (ERC-20, ERC-721)
  2. Sözleşme Güvenliği için En İyi Uygulamalar
  3. Yükseltilebilir Sözleşmeler
← Web3 & DApp Development Fundamentals Sayfasına Dön