Obsah
Úvod
Co je standard ERC-20?
Krátké připomenutí o tokenech Ethereum
Jak se vytvářejí tokeny ERC-20?
Co umí tokeny ERC-20?
Stablecoiny
Finančníci žetonů
Užitkové tokeny
Můžete těžit tokeny ERC-20?
Výhody a nevýhody ERC-20 tokenů
Výhody ERC-20 tokenů
Nevýhody ERC-20 tokenů
ERC-20, ERC-1155, ERC-223, ERC-721, jaké jsou rozdíly?
Abych to uzavřel
Úvod
Ethereum bylo založeno Vitalikem Buterinem v roce 2014 a staví se jako open-source platforma pro spouštění decentralizovaných aplikací (DApps). Buterinova motivace pro vytvoření nového blockchainu je založena na nedostatečné flexibilitě bitcoinu.
Od svého spuštění přitahuje blockchain Ethereum vývojáře, podniky a podnikatele, což vede k rostoucímu odvětví uživatelů, kteří spouštějí chytré smlouvy a distribuované aplikace.
V tomto článku se podíváme na standard ERC-20, důležitý rámec pro vytváření tokenů. Ačkoli je tento rámec specifický pro síť Ethereum, inspiroval také další standardy blockchainu, jako je BEP-2 společnosti Binance Chain.
Co je standard ERC-20?
Na Ethereu je ERC Ethereum Request for Comments. Jedná se o technické dokumenty, které definují standardy pro programování na Ethereu. Ty by se neměly zaměňovat s návrhy na vylepšení Etherea (EIP), které, stejně jako bitcoinové BIP, navrhují vylepšení samotného protokolu. Cílem ERC je spíše zavést konvence, které usnadní interakci mezi aplikacemi a smlouvami.
ERC-20, který v roce 2015 definovali Vitalik Buterin a Fabian Vogelsteller, nabízí relativně jednoduchý formát pro tokeny založené na Ethereu. Tím, že se vývojáři řídí jeho plánem, nemusí znovu vynalézat kolo. Místo toho mohou stavět na základech, které se v oblasti již používají.
Jakmile jsou nové tokeny ERC-20 vytvořeny, jsou automaticky interoperabilní se službami a softwarem podporujícím standard ERC-20 (softwarové peněženky, hardwarové peněženky, burzy atd.).
Je třeba poznamenat, že standard ERC-20 byl vyvinut organizací EIP (konkrétně EIP-20). K tomu došlo několik let po původním návrhu, kvůli jeho širokému použití. I po letech však název „ERC-20“ zůstal zachován.
Krátké připomenutí o tokenech Ethereum
Na rozdíl od ETH (nativní kryptoměny Ethereum) nejsou tokeny ERC-20 drženy účty. Tokeny existují pouze ve smlouvě, která je jako samostatná databáze. Specifikuje pravidla tokenů (název, symbol, dělitelnost) a udržuje seznam, který přiřazuje uživatelské zůstatky k jejich Ethereum adresám.
Aby uživatelé mohli přesunout tokeny, musí do smlouvy odeslat transakci a požádat je, aby část svého zůstatku alokovali jinam. Pokud chce například Alice poslat Bobovi 5 000 tokenů BinanceAcademyToken, zavolá funkci v inteligentní smlouvě BinanceAcademyToken a požádá ho o to.

Jeho volání je obsaženo v tom, co vypadá jako běžná transakce Ethereum, která platí 0 ETH do tokenové smlouvy. Hovor je zahrnut do dodatečného pole v transakci, které specifikuje, co chce Alice udělat. V našem případě přeneste žetony Bobovi.
I když nepošle ether, stejně musí zaplatit poplatek, aby byla její transakce zahrnuta do bloku. Pokud ETH nemá, musí nějaké získat, než přenese tokeny.
Zde je skutečný příklad výše uvedeného na Etherscan: Někdo zavolá na smlouvu BUSD. Můžete vidět, že tokeny byly převedeny a poplatky byly zaplaceny, i když pole hodnoty ukazuje, že bylo odesláno 0 ETH.
Nyní, když rozumíme základům, pojďme se podívat pod pokličku, abychom lépe porozuměli struktuře typické smlouvy ERC-20.
Jak se vytvářejí tokeny ERC-20?

Aby byla v souladu se standardem ERC-20, musí vaše smlouva obsahovat šest povinných funkcí: totalSupply, balanceOf, transfer, transferFrom, schvalování a povolenka. Kromě toho můžete zadat volitelné funkce, jako je název, symbol a desetinné číslo. Z názvů těchto funkcí vám může být jasné, co dělají. Pokud ne, nebojte se, vysvětlíme vám to níže.
Zde jsou funkce, jak se objevují v jazyce Solidity navrženém speciálně pro Ethereum.
totalSupply
funkce totalSupply() public view vrací (uint256)Při volání uživatelem vrátí výše uvedená funkce celkovou zásobu tokenů, které smlouva drží.
zůstatek
funkce balanceOf(adresa _owner) veřejné zobrazení vrací (uint256 balance)Na rozdíl od totalSupply, balanceOf přebírá parametr (adresu). Při volání vrátí zůstatek tokenů držených touto adresou. Pamatujte, že účty v síti Ethereum jsou veřejné, takže se můžete dotázat na zůstatek libovolného uživatele, pokud znáte jeho adresu.
převod
funkce transfer(adresa _to, uint256 _value) veřejné návraty (boolův úspěch)přenos přenáší tokeny od jednoho uživatele k druhému. Zde zadáte adresu, na kterou chcete peníze poslat, a částku k převodu.
Když je zavolán, přenos spustí něco, co se nazývá událost (v tomto případě přenosová událost), která v podstatě říká blockchainu, aby na něj zahrnul odkaz.
přenéstZ
function transferFrom(adresa _from, adresa _to, uint256 _value) veřejné návraty (boolův úspěch)Funkce transferFrom je pohodlnou alternativou k přenosu, která umožňuje trochu větší programovatelnost v decentralizovaných aplikacích. Stejně jako převod se používá k přesunu tokenů, ale tokeny nemusí nutně patřit osobě, která smlouvu volá.
Jinými slovy, můžete zmocnit osobu nebo jinou smlouvu k převodu finančních prostředků vaším jménem. Jedním z možných případů použití je placení za služby založené na předplatném, kde nechcete ručně posílat platbu každý den/týden/měsíc. Místo toho necháte program, aby to udělal za vás.
Tato funkce spustí stejnou událost jako přenos.
Schválit
funkce schvalovat (adresa _spender, uint256 _value) veřejné návraty (boolův úspěch)Schválit je další užitečná funkce z hlediska programovatelnosti. Díky této funkci můžete omezit počet tokenů, které může chytrá smlouva stáhnout z vašeho zůstatku. Bez něj může smlouva selhat (nebo se stát zlomyslnou) a to může mít za následek ztrátu všech vašich finančních prostředků.
Vraťme se k našemu příkladu modelu předplatného. Řekněme, že máte velké množství BinanceAcademyTokenů a chcete nastavit týdenní opakující se platby za streamovací DApp. Jste zaneprázdněni čtením obsahu Binance Academy dnem i nocí. Nechcete si tedy každý týden věnovat čas na ruční vytvoření transakce.
Máte obrovský zůstatek BinanceAcademyTokenů, mnohem víc, než je potřeba k platbě za předplatné. Abyste zabránili tomu, aby je DApp všechny vyčerpal, můžete nastavit limit pomocí schválení. Předpokládejme, že vaše předplatné stojí jeden BinanceAcademyToken týdně. Pokud omezíte schválenou hodnotu na dvacet tokenů, můžete si nechat předplatné platit automaticky po dobu pěti měsíců.
V nejhorším případě, pokud se DApp pokusí vybrat všechny vaše prostředky nebo je objevena chyba, můžete ztratit pouze dvacet tokenů. Možná to není ideální řešení, ale rozhodně je to atraktivnější než přijít o všechny finanční prostředky.
Po zavolání, schválit, spustí událost schválení. Stejně jako přenosová událost zapisuje data do blockchainu.
příspěvek
funkce povolena (adresa _vlastník, adresa _utrácitel) návraty veřejného pohledu (zbývá uint256)příspěvek lze použít ve spojení se schválením. Když jste udělili smluvní autorizaci ke správě vašich tokenů, můžete ji použít ke kontrole, kolik dalších lze vybrat. Pokud například vaše předplatné spotřebovalo dvanáct z dvaceti schválených tokenů, volání funkce povolenek by mělo vrátit celkem osm.
Volitelné funkce
Výše uvedené funkce jsou povinné. Funkce, název, symbol a desetinné číslo však nemusí být zahrnuty, ale mohou vaši smlouvu ERC-20 trochu zkrášlit. Respektive umožňují přidat lidsky čitelný název, definovat symbol (např. ETH, BTC, BNB) a určit počet desetinných míst, kterými jsou tokeny dělitelné. Například tokeny používané jako měny mohou být více dělitelné než tokeny, které představují vlastnictví aktiva.
Podívejte se na tento příklad na GitHubu, abyste viděli tyto prvky ve skutečné smlouvě.
Co umí tokeny ERC-20?

Když dáme všechny výše uvedené funkce dohromady, získáme smlouvu ERC-20. Můžeme se dotazovat na celkovou dodávku, kontrolovat zůstatky, převádět prostředky a udělovat oprávnění jiným DApps ke správě tokenů.
Velká část přitažlivosti tokenů ERC-20 spočívá v jejich flexibilitě. Definované konvence neomezují vývoj, takže strany mohou implementovat další funkce a nastavit specifické parametry tak, aby vyhovovaly jejich potřebám.
Stablecoiny
Stablecoiny (tokeny vázané na fiat měny) často používají standard tokenů ERC-20. Příkladem je kontraktová transakce BUSD, kterou jsme zmínili dříve, a většina hlavních stablecoinů je také dostupná v tomto formátu.
U klasického nekrytého stablecoinu má emitent rezervy v eurech, dolarech atd. Poté pro každou jednotku v záloze vydají žeton. To znamená, že pokud by bylo 10 000 $ uvízlo v trezoru, emitent by mohl vytvořit 10 000 tokenů, každý směnitelný za 1 $.
Technicky vzato je to docela snadné implementovat na Ethereum. Emitent jednoduše zahájí smlouvu s 10 000 tokeny. Poté je distribuuje uživatelům s příslibem, že později mohou tokeny vyměnit za poměrnou částku fiat měny.
Uživatelé mohou se svými tokeny provádět řadu věcí: mohou nakupovat zboží a služby nebo je používat v DApps. Mohou také požádat emitenta o jejich okamžitou výměnu. V tomto případě emitent vrácené tokeny spálí (činí je nepoužitelnými) a stáhne odpovídající množství fiatu ze svých rezerv.
Smlouva, kterou se tento systém řídí, jak již bylo zmíněno, je poměrně jednoduchá. Spuštění stablecoinu však vyžaduje hodně práce na externích faktorech, jako je logistika, dodržování předpisů atd.
Finančníci žetonů
Finanční tokeny jsou podobné stablecoinům. Pokud jde o smlouvu, mohou být tyto dva dokonce stejné, protože fungují stejným způsobem. Rozdíl nastává na úrovni vysílače. Finanční tokeny představují cenné papíry, jako jsou akcie, dluhopisy nebo fyzický majetek. Často (i když ne vždy) představují zájem držitele o podnik nebo nemovitost.
Užitkové tokeny
Užitkové tokeny jsou dnes možná nejběžnějším typem tokenů. Na rozdíl od předchozích dvou typů nejsou kryty jiným aktivem. Pokud jsou aktivy kryté tokeny jako akcie letecké společnosti, pomocné tokeny jsou jako věrnostní programy: plní funkci, ale nemají žádnou externí hodnotu. Užitkové tokeny mohou sloužit pro nespočet případů použití, slouží jako herní měna, palivo pro decentralizované aplikace, věrnostní body a mnoho dalšího.
➟ Chcete začít s kryptoměnami? Nakupujte bitcoiny na Binance!
Můžete těžit tokeny ERC-20?
Můžete těžit Ether (ETH), ale tokeny nejsou těžitelné, říkáme, že jsou vydávány při vytváření nových tokenů. Když je smlouva spuštěna, vývojáři distribuují nabídku na základě svých plánů a plánu.
To se obvykle provádí prostřednictvím počáteční nabídky mincí (ICO), počáteční nabídky směny (IEO) nebo nabídky finančních tokenů (STO). Můžete se setkat s variacemi těchto zkratek, ale tyto pojmy jsou si dost podobné. Investoři posílají ether na smluvní adresu a na oplátku dostávají nové tokeny. Vybrané peníze jsou použity na financování dalšího rozvoje projektu. Uživatelé očekávají, že budou moci své tokeny použít (okamžitě nebo později) nebo je prodat za účelem zisku, jak projekt poroste.
Distribuci tokenů není nutné automatizovat. Mnoho crowdfundingových akcí umožňuje uživatelům platit v různých digitálních měnách (jako jsou BNB, BTC, ETH a USDT). Příslušné zůstatky jsou pak přiřazeny na adresy poskytnuté uživateli.
Výhody a nevýhody ERC-20 tokenů
Výhody ERC-20 tokenů
Fongible
Tokeny ERC-20 jsou zastupitelné, každá jednotka je zaměnitelná s jinou. Pokud držíte BinanceAcademyToken, nezáleží na tom, který konkrétní token vlastníte. Mohli byste je vyměnit za někoho jiného a stále by byly stejné, jako hotovost nebo zlato.
To je ideální, pokud se váš token chce stát jakousi měnou. Nechtěli byste jednotlivé jednotky s výraznými vlastnostmi, díky nimž by byly nezaměnitelné. Některé tokeny by tedy mohly být více či méně cenné než jiné, což by podkopalo jejich užitečnost.
Flexibilita
Jak jsme viděli v předchozí části, tokeny ERC-20 jsou vysoce přizpůsobitelné a lze je přizpůsobit mnoha různým aplikacím. Mohou být například použity jako herní měna, ve věrnostních programech, jako digitální sběratelské předměty nebo dokonce k reprezentaci vlastnických práv a uměleckých děl.
Oblíbený
Popularita ERC-20 v kryptoměnovém průmyslu je velmi pádným důvodem, proč jej použít jako model. Existuje nepřeberné množství burz, peněženek a chytrých kontraktů, které jsou již kompatibilní s nedávno spuštěnými tokeny. Kromě toho existuje spousta podpory pro vývojáře a dokumentace.
Nevýhody ERC-20 tokenů
Škálovatelnost
Stejně jako u mnoha sítí kryptoměn, ani Ethereum není imunní vůči rostoucím bolestem. V současné podobě není příliš škálovatelný: pokus o odeslání transakce ve špičce má za následek vysoké poplatky a zpoždění. Pokud spustíte token ERC-20 a síť je přetížená, může to ovlivnit její využití.
Toto není problém výhradně Ethereum. Je to spíše nezbytný kompromis pro všechny zabezpečené a distribuované systémy. Komunita plánuje tyto problémy vyřešit při migraci na Ethereum 2.0, která bude implementovat upgrady jako Ethereum Plasma a Ethereum Casper.
Další informace o problémech se škálovatelností najdete v článku Škálovatelnost blockchainu: vedlejší řetězce a platební brány.
Podvody
I když to není problém se samotnou technologií, snadnost, s jakou lze token spustit, lze v některých ohledech považovat za nevýhodu. Vytvoření jednoduchého tokenu ERC-20 vyžaduje velmi málo úsilí, což znamená, že by to mohl udělat kdokoli, ať už je to dobré nebo špatné.
Musíte si tedy dávat pozor, do čeho investujete. Existuje řada pyramidových a Ponziho schémat maskovaných jako blockchainové projekty. Před investováním si proveďte vlastní průzkum, abyste si vytvořili vlastní představy o legitimitě příležitosti.
ERC-20, ERC-1155, ERC-223, ERC-721, jaké jsou rozdíly?
ERC-20 byl prvním (a dodnes nejoblíbenějším) standardem tokenů Ethereum, ale není zdaleka jediný. V průběhu let se objevilo mnoho dalších, které buď navrhovaly vylepšení ERC-20, nebo se snažily dosáhnout jiných cílů.
Některé z méně běžných standardů jsou standardy používané v nezastupitelných tokenech (NFT). Někdy je pro váš případ použití výhodné mít jedinečné tokeny s různými atributy. Pokud chcete tokenizovat jedinečné umělecké dílo, aktivum ve hře atd., jeden z těchto typů smlouvy může být zajímavější.
Standard ERC-721 byl například použit pro nesmírně populární CryptoKitties DApp. Taková smlouva poskytuje API umožňující uživatelům vydávat vlastní nezaměnitelné tokeny a kódovat metadata (obrázky, popisy atd.).
Standard ERC-1155 lze považovat za vylepšení standardů ERC-721 a ERC-20. Představuje standard, který podporuje zastupitelné a nezaměnitelné tokeny ve stejné smlouvě.
Další možnosti jako ERC-223 nebo ERC-621 mají za cíl zlepšit použitelnost. První zavádí ochranná opatření, aby se zabránilo náhodným přenosům tokenů. Druhý přidává další funkce pro zvýšení a snížení zásoby tokenů.
Chcete-li se dozvědět více o NFT, navštivte Průvodce kryptografickými sběratelskými předměty a nefunkčními tokeny (NFT).
Abych to uzavřel
Standard ERC-20 po léta dominuje prostoru kryptoaktiv a není těžké pochopit proč. S relativní lehkostí může kdokoli nasadit jednoduchou smlouvu, která se hodí pro širokou škálu případů použití (užitné tokeny, stablecoiny atd.). To znamená, že ERC-20 postrádá některé funkce implementované jinými standardy. Zda budou uzavřeny další typy smluv, se teprve uvidí.



