====== ERC-20: Standard pro zaměnitelné tokeny ====== **ERC-20** je soubor pravidel, která umožňují vývojářům vytvářet tokeny, které jsou navzájem zaměnitelné. To znamená, že každý žeton (token) má stejnou hodnotu a vlastnosti jako kterýkoliv jiný žeton téže emise (podobně jako 1 € je vždy rovno jinému 1 €). ===== 1. Proč je ERC-20 revoluční? ===== Před zavedením standardu (rok 2015) musely burzy a peněženky psát unikátní kód pro každou novou minci. ERC-20 zavedl "univerzální jazyk", který umožňuje: * **Interoperabilitu:** Jakýkoliv ERC-20 token lze okamžitě poslat do peněženky MetaMask nebo obchodovat na Uniswapu. * **Likviditu:** Snadné vytváření obchodních párů na [[it:sw:dex|decentralizovaných burzách]]. * **Bezpečnost:** Používání prověřených šablon (např. od OpenZeppelin) snižuje riziko chyb v kódu. ---- ===== 2. Povinné funkce rozhraní ===== Aby byl smart kontrakt uznán jako ERC-20, musí implementovat těchto 6 základních funkcí: | Funkce | Popis | | **totalSupply** | Celkový počet tokenů, které kdy budou existovat. | | **balanceOf** | Zjistí, kolik tokenů drží konkrétní adresa. | | **transfer** | Odešle tokeny z adresy volajícího na jinou adresu. | | **transferFrom** | Umožňuje automatizované převody (např. inkaso) z jedné adresy na druhou. | | **approve** | Majitel povolí jiné adrese (např. burze) utratit část svých tokenů. | | **allowance** | Kontrola, kolik tokenů má daná třetí strana ještě povoleno utratit. | ---- ===== 3. Volitelné vlastnosti (Human-Readable) ===== Kromě logiky obsahuje standard i metadata, která usnadňují lidem orientaci: * **Name:** Celý název tokenu (např. "Tether USD"). * **Symbol:** Zkratka (např. "USDT"). * **Decimals:** Počet desetinných míst. Standardem je **18** (umožňuje dělitelnost podobnou jako u ETH), ale některé stablecoiny používají **6**. ---- ===== 4. Mechanismus Schvalování (Approve & Allowance) ===== Toto je klíčový prvek pro [[it:sw:defi|DeFi]]. Pokud chcete prodat své tokeny na burze, neposíláte je přímo do burzy. Místo toho zavoláte funkci **Approve**. 1. **Approve:** "Povoluji protokolu Uniswap vybrat z mé peněženky 100 USDT." 2. **Interakce:** Uniswap následně použije **transferFrom** k provedení obchodu. 3. **Bezpečnostní riziko:** Pokud schválíte "neomezené množství" (Infinite Allowance) podvodné aplikaci, může vám vybrat celou peněženku. --- ===== 5. Příklady nejznámějších ERC-20 tokenů ===== * **Stablecoiny:** USDT, USDC, DAI (vázané na dolar). * **Utility tokeny:** LINK (Chainlink), UNI (Uniswap), AAVE. * **Wrapped tokeny:** WBTC (Bitcoin převedený do sítě Ethereum v poměru 1:1). ---- //Související články:// * [[it:sw:ethereum|Ethereum: Domovská síť pro ERC-20]] * [[it:sw:erc721|ERC-721: Rozdíl mezi běžným tokenem a NFT]] * [[it:sw:smart_contracts|Smart Contracts: Jak naprogramovat ERC-20]] //Tagy: {{tag>it ethereum tokens erc-20 defi blockchain crypto}}//