Co jsou ERC20 tokeny?
Pro úplné pochopení, co jsou ERC20 tokeny, očekáváme, že jste znalí v oblasti Ethereum blockchainu, smart kontraktů, DApps a ICO.
Rychlé shrnutí: Ethereum blockchain je distribuovaná open-source platforma postavená na blockchainu. Tato platforma, síť Ethereum, provozuje decentralizované aplikace (DApps), které jsou prováděny skrz smart kontrakty. Všechny transakce na Ethereum síti, spolu s výpočetními požadavky na provádění smart kontraktů, jsou vypláceny v kryptoměně Ether.
Některé, nikoli však všechny, DApps vyžadují dodatečnou měnu. Tyto DApps proto vytvoří vlastní měnu, token, který používají na vybírání prostředků od investorů v procesu zvaném Initial Coin Offering (ICO).
Ethereum blockchain je postaven pro podporu DApps různých druhů. Kromě DApps pro tvorbu, správu a posílání prostředků existují i DApps pro platby na internetu, kryptoměnové debetní karty, či hra s virtuálními kočkami.
Všechny tyto DApps skutečně existují a 99 % všech DApps využívá stejné ERC20 tokeny.
ERC20 token (Ethereum Request for Comment) je standardní seznam programovacích pravidel pro tokeny postavené na Ethereum blockchainu. Dodržením tohoto programovacího protokolu, který sestává ze 6 funkcí, vývojáři a jejich DApps jsou schopny efektivně a jednoduše pracovat se smart kontrakty.
Čtěte taktéž: Prohlížeč Brave odměňuje uživatele 70 % z výdělku (návod v článku)
Predstavujeme Solidity
Nejpopulárnější Ethereum klient je napsán v Google Go programovacím jazyce. Vývojáři si většinou vybírají ty jazyky, které jsou pro smart kontrakty přátelštější. Proto si většinou volí jazyky jako Vyper, Bamboo, Serpent a Solidity.
Zbytek článku se bude věnovat Solidity programovacímu jazyku a jeho syntaxe.
Solidity je programovací jazyk orientovaný na práci a implementaci smart kontraktů. Syntax Solidity, pro technicky zdatnější, je kombinací konceptů z Javascript, Python a C programovacích jazyků. Pro více informací o Solidity navštivte https://solidity.readthedocs.io/en/develop/#
Průvodce rozhraním ERC20
Je načase ponořit se trochu do hloubky a zjistit, co je to přesně ten ERC20 standard a jak funguje. Budeme se mu věnovat z pohledu Solidity programovacího jazyku.
Na platformě Ethereum vše závisí na smart kontraktech. Dokumentace Solidity definuje kontrakty jako “kolekci kódů a dat, které náleží určité, specifické adrese na Ethereum blockchainu”. Ethereum kontrakty podporují dědičnost, tj. jeden kontrakt může být příkladem druhého.
Následujíc tuto logiku, abstraktní kontrakt, který je použit pouze pro dědění, může být také použit jako záruka, neboť bude definovat, co musí nový kontrakt obsahovat, aby byl funkční. Tyto abstraktní kontrakty jsou také známé jako interface kontrakty.
ERC20 standard je interface kontrakt, který sestává ze 6 funkcí, které si nyní představíme
Allowance
Funkce Allowance umožňuje dvěma adresám vytvořit opakovaný jednosměrný transakční kanál. Adresa vlastníka a adresa přijímatele jsou definovány jako dvě peněženky, které se podílejí na opakovaných transakcích. Přesněji řečeno, přijímatel bude přijímat určitou částku z peněženky vlastníka v určitém intervale – obě tyto proměnné musejí být definovány.
Approve
Tato funkce úzce souvisí s předchozí. Umožňuje totiž dvěma adresám opakovaně provádět jednosměrné transakce. Approve je standardní, jednoduchá funkce, která majiteli peněženky umožňuje povolit transakci, kterou uskutečňuje. Tato funkce vyžaduje dva vstupy, adresu přijímatele a množství tokenů, které má přijmout. Výstup pošle booleanovskou hodnotu (0 nebo 1), která určí, zda byla transakce povolena.
BalanceOf
Jednoduše řečeno, tato funkce přijímá vstup z adresy na blockchainu a vrací numerický výstup, který udává počet tokenů na daném účtu. Ethereum blockchain je veřejný, proto si kdokoliv může zjistit, kolik tokenů se nachází na libovolném účtu.
TotalSupply
Tato funkce je anonymní konstruktor, která byla spuštěna pouze jednou, a to na úplném začátku při spuštění Ethereum sítě. Funkce, jak už z názvu vyplývá, udává konečný počet tokenů, které mohou existovat na síti.
Transfer
Funkce Transfer je nejdůležitější funkcí, jakou ERC20 tokeny mají. Definuje a implementuje přímé přesuny tokenů mezi účty. Jelikož tuto funkci iniciují vlastníci peněženek, vyžaduje pouze dva parametry. Přijímatelovu adresu a množství tokenů, které chce odesílatel poslat. Výstup této funkce je booleanovská hodnota, která určuje, zda se transakce uskuteční.
Mohlo by vás zajímat: Binance návod – Jak obchodovat na Binance a jak koupit kryptoměny
TransferFrom
Poslední funkce TransferFrom umožňuje smart kontraktům uskutečnit transakci na základě požadavků majitele peněženky. Nepleťte si to však s předchozí funkcí. Ta slouží jen na přímé transakce. Tato funkce však slouží pro stanovování podmínek, při kterých se může transakce uskutečnit. Například transakce na burze, kupování a prodej tokenů při určité ceně jsou prováděny touto funkcí.
TransferFrom funkce má tři základní vstupní parametry – adresu odesílatele, příjemce a množství tokenů, které budou převedeny.
Závěr
Šest funkcí, které jsme jmenovali, je šest základních funkcí, které se nacházejí v 99 % ERC20 tokenů. Kromě pár výjimek (Golem) se mohou vývojáři vždy spolehnout, že při práci s ERC20 tokeny na Ethereum blockchainu budou tyto funkce pro ně dostupné. To jim značně usnadní práci při programovaní smart kontraktů a interakci s nimi.