ERC-Standards (ERC-20, ERC-721)
Lernen Sie gängige Ethereum-Request-for-Comments-(ERC-)Standards wie ERC-20 für fungible Token und ERC-721 für nicht fungible Token (NFTs) kennen.
ERC-Standards (ERC-20, ERC-721) ist eine kostenlose Web3 & DApp Development Fundamentals-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Web3 & DApp Development Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Web3 & DApp Development Fundamentals-Kurs umfasst insgesamt 3 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
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 aspenderto withdraw up toamountfrom your account.transferFrom(address sender, address recipient, uint256 amount): Transfers tokens fromsendertorecipient, usually called by aspenderwho 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.
Lerne Web3 & DApp Development Fundamentals mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 29
- Lektionen
- 105
Häufig gestellte Fragen
Ist die Lektion „ERC-Standards (ERC-20, ERC-721)“ kostenlos?
Ja — der vollständige Text von „ERC-Standards (ERC-20, ERC-721)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Web3 & DApp Development Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Web3 & DApp Development Fundamentals-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „ERC-Standards (ERC-20, ERC-721)“?
Lernen Sie gängige Ethereum-Request-for-Comments-(ERC-)Standards wie ERC-20 für fungible Token und ERC-721 für nicht fungible Token (NFTs) kennen. Du übst Web3 & DApp Development Fundamentals mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Web3 & DApp Development Fundamentals zu starten?
Keine Vorkenntnisse erforderlich. Web3 & DApp Development Fundamentals auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 3.
Wie lange dauert die Lektion „ERC-Standards (ERC-20, ERC-721)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Web3 & DApp Development Fundamentals-Lektion Code schreiben und ausführen?
Ja. Jede Web3 & DApp Development Fundamentals-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- ERC-Standards (ERC-20, ERC-721)
- Bewährte Verfahren zur Contract-Sicherheit
- Upgradeable Contracts