Mi az az ERC-20 token?

Mi az az ERC-20 token?
Illusztráció: Unsplash

A mai Webhárom Tudástár cikkünkben az ERC-20 működését mutatjuk be.

Az ERC-20 egy, az Ethereum blokklánc fejlesztői által készített szabvány - pontosabban tokenszabvány, mely a fungible tokenek működését írja le az Ethereum (és más EVM-kompatibilis) blokkláncokon.

A szakszavaktól nem kell megijedni, minden kifejezés világos lesz a cikk végére 😎

Először is: Mi az a token?

A token olyan kriptovaluta, mely egy adott blokkláncon értékmérő szerepet tölt be, de eltér a blokklánc használatától szükséges natív cointól. A coin és a token közötti különbség általánosságban annyi, hogy a coint (mint például BTC, ETH) bányászni vagy stakelni lehet, egy tokent (pl. USDC, LINK) pedig okosszerződésen keresztül létrehozni.

Mi az a smart contract (okosszerződés)?
Az okosszerződés (vagy szintén használt angol nevén smart contract) egy, a blokkláncra publikált, önálló működésre nem képes programkód. Az okosszerződésben leírt utasításokat egy virtuális gép (Ethereum esetében az Ethereum Virtual Machine) futtatja, a futtatáshoz pedig interakcióra van szükség egy tárca vagy más okosszerződés részéről. Ez az interakció kétféle lehet: * tranzakció

Ennek az okosszerződésnek a szabványát írta le elsőként az Ethereum, az ERC-20 szabvány néven, mely definiálja azokat a tulajdonságokat "interfészt", melynek minden tokennek meg kell felelnie.

Ez egy viszonylag egyszerű és rövid kód, így a részletes bemutatás érdekében álljon itt teljes fényében:

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount)
        external
        returns (bool);
}

Az ERC-20 szabvány tehát a fenti interfészt definiálja, azt az interfészt, melyet konkrétan meg kell valósítania minden egyes, az Ethereum (és hasonló) blokkláncokon létrehozott tokennek.

Egy ERC-20 tokennek tehát az alábbi függvényekkel kell rendelkeznie:

A totalSupply() függvény arra szolgál, hogy definiálja a token maximálisan rendelkezésre álló mennyiségét,

A balanceOf() arra szolgál, hogy az address című tárcából le lehessen kérdezni, a konkrét tárca mennyi (pl. USDC) tokennel rendelkezik

A transfer() az amount-nak megfelelő mennyiséget átutalja az address tárcába

Az approve() engedélyt ad egy másik tárcának egy adott tárca tokeneinek későbbi felhasználására

Az allowance() pedig lekérdezi, létezik-e ez az engedély

A transferFrom() pénzt küld saját tárcából, vagy egy olyan tárcából, melyhez "allowance" hozzáférésünk van.

Mit jelent a fungible szó?

A fungible (kényszeres magyarítással "fungibilitás") egy fizikai vagy digitális valutának az a tulajdonsága, hogy több különálló, egyforma egység van számon tartva, melyek egyenlő értéket képviselnek.

Jó példa erre a forint: egy 100 forintos érmével ugyanannyi terméket tudsz megvásárolni, mint egy másik 100 forintos érmével.

Ellentéte az NFT, azaz a nem fungibilis token, melyből nincs két egyforma. Nem garantált, sőt kifejezetten ritka például, hogy két majmos kép egyenlő értéket képviseljen, különösen az egyedi jellemzői miatt, mint a design, sorszám, ritkaság, stb.

🎁
Vásárolj bitcoint a Bybiten erre a linkre kattintva, és megjutalmazunk akár 5000 USD értékű első befizetési bónusszal

ERC-20 tokent létrehozni bármelyik Ethereum tárca segítségével lehet, a közzétételhet szükséges tranzakciós költség kifizetésével, és persze valamilyen mértékű technikai tudással.

A leggyakrabb esetben Solidity programnyelven importálják és implementálják a fenti interfészt. Így egy új, a tokent leíró okosszerződés készül, melyet a nyilvános (Ethereum vagy más) hálózaton közzétéve bárki számára használhatóvá tesznek.

Ezután a token okosszerződésének ugyanúgy lesz egy hálózati címe a blokkláncon, melynek segítségével meghívhatók a fenti függvények - például lekérdezhető valakinek az egyenlege, vagy átutalható a megadott összeg egy más tárcába.

Az oldalon található cikkek kizárólag a szerző véleményét tükrözik, és nem valósítanak meg a 2007. évi CXXXVIII. törvény szerinti befektetési tanácsadást. A Webhárom kizárja a felelősségét az egyéni befektetési döntésekből fakadó esetleges károk miatt. Tartalmaink szerzői jogvédelem alá tartoznak, felhasználásuk kizárólag a szerző írásos engedélyével lehetséges.

Ajánljuk még