Introduktion
Ethereum grundades av Vitalik Buterin under 2014 och positionerar sig som en öppen kÀllkodsplattform för att lansera decentraliserade applikationer (DApps). MÄnga av Buterins motiv för att skapa en ny blockkedja hÀrrörde frÄn Bitcoin-protokollets brist pÄ flexibilitet.
Sedan lanseringen har Ethereum-blockkedjan attraherat utvecklare, företag och entreprenörer, vilket skapat en vÀxande bransch av anvÀndare som lanserar smarta kontrakt och distribuerade applikationer.
I den hĂ€r artikeln ska vi titta nĂ€rmare pĂ„ ERC-20-standarden som Ă€r ett viktigt ramverk för att skapa token. Ăven om det Ă€r specifikt för Ethereum-nĂ€tverket inspirerade ramverket ocksĂ„ andra blockkedjestandarder, sĂ„som Binance-kedjans BEP-2.
Vad Àr ERC-20-standarden?
ERC-20 skrevs av Vitalik Buterin och Fabian Vogelsteller under 2015 och föreslÄr ett relativt enkelt format för Ethereum-baserade token. Genom att följa detta format behöver utvecklarna inte uppfinna hjulet pÄ nytt. IstÀllet kan de bygga frÄn en grund som redan anvÀnds i branschen.
NÀr nya ERC-20-token har skapats Àr de automatiskt kompatibla med tjÀnster och programvara som stöder ERC-20-standarden (programvaruplÄnböcker, hÄrdvaruplÄnböcker, börser, osv).
Det bör noteras att ERC-20-standarden utvecklades till en EIP (och specifikt en EIP-20). Detta skedde ett par Är efter det ursprungliga förslaget pÄ grund av dess utbredda anvÀndning. Men Àven flera Är senare har namnet "ERC-20" stannat kvar.
En snabb sammanfattning av Ethereums token
Till skillnad frÄn ETH (Ethereums egen kryptovaluta) innehas inte ERC-20-token av konton. Token finns bara i ett kontrakt, vilket Àr som en fristÄende databas. Den specificerar reglerna för token (det vill sÀga namn, symbol och delbarhet) och har en lista som mappar anvÀndarnas balanser till deras Ethereum-adresser.
För att flytta token mÄste anvÀndarna skicka en transaktion till kontraktet och be den att allokera en del av sina balanser nÄgon annanstans. Om Alice till exempel vill skicka 5 000 Binance Academytoken till Bob, anropar hon en funktion i Binance Academy-tokenens smarta kontrakt och ber den att göra det.
Hennes Ă„tgĂ€rd finns i vad som verkar vara en vanlig Ethereum-transaktion som betalar 0 ETH till tokenkontraktet. Ă tgĂ€rden ingĂ„r i ett extra fĂ€lt i transaktionen som anger vad Alice vill göra â i detta fall överföra token till Bob.
Ăven om hon inte skickar ether mĂ„ste hon fortfarande betala en avgift som anges i den för att fĂ„ sin transaktion inkluderad i ett block. Om hon inte har nĂ„gon ETH mĂ„ste hon skaffa detta innan hon överför token.
HÀr Àr ett verkligt exempel pÄ ovanstÄende frÄn Etherscan: NÄgon anropar BUSD-kontraktet. Du kan se att token har överförts och att en avgift har betalats, Àven om fÀltet VÀrde visar att 0 ETH har skickats.
Nu nĂ€r vi har fĂ„tt mer koll pĂ„ detta kan vi ta en nĂ€rmare titt för att bĂ€ttre förstĂ„ strukturen för ett typiskt ERC-20-kontrakt.Â
Hur skapas ERC-20-token?
Nedan finns funktionerna sÄ som de visas i Ethereums specialbyggda Solidity-sprÄk.
totalSupply
function totalSupply() public view returns (uint256)
balanceOfÂ
function balanceOf(address _owner) public view returns (uint256 balance)
transfer
function transfer(address _to, uint256 _value) public returns (bool success)
transferFrom
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
Med andra ord kan du auktorisera nĂ„gon â eller ett annat kontrakt â att överföra tillgĂ„ngar Ă„t dig. Ett möjligt anvĂ€ndningsomrĂ„de Ă€r att du betalar för abonnemangsbaserade tjĂ€nster, dĂ€r du inte vill skicka en betalning manuellt varje dag/vecka/mĂ„nad. IstĂ€llet lĂ„ter du bara ett program göra det Ă„t dig.
approve
function approve(address _spender, uint256 _value) public returns (bool success)
Ta vÄrt exempel pÄ en prenumerationsmodell igen. Anta att du har en enorm mÀngd BinanceAcademyToken och att du vill stÀlla in veckovisa Äterkommande betalningar till en strömmande DApp. Du Àr upptagen med att lÀsa innehÄllet pÄ Binance Academy dygnet runt, sÄ du vill inte slösa tid pÄ att skapa en manuell transaktion varje vecka.
Om DAppen i vÀrsta fall försöker ta ut alla dina tillgÄngar, eller om en bugg hittas, kan du max förlora 20 token. Det kanske inte Àr idealiskt, men det Àr definitivt mer tilltalande Àn att förlora hela ditt innehav.
allowanceÂ
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
Tillvalsfunktionerna
Vad kan ERC-20-token göra?
En stor del av nyttan med ERC-20-token Àr deras flexibilitet. Konventionerna som anges begrÀnsar inte utvecklingen, sÄ parterna kan implementera ytterligare funktioner och stÀlla in specifika parametrar för att passa alla deras behov.
Stablecoin
För ett typiskt fiat-backed stablecoin har en emittent reserver i euro, dollar, etc. För varje enhet i deras reserv utfÀrdar de sedan en token. Detta innebÀr att om 10 000 USD lÄses in i ett kassavalv sÄ kan emittenten skapa 10 000 token och var och en kan lösas in för 1 USD.
Detta Ă€r ganska enkelt att implementera i Ethereum, rent tekniskt sett. En emittent lanserar helt enkelt ett kontrakt med 10 000 token. Sedan kommer denne att distribuera dem till anvĂ€ndare med löftet att de senare kan lösa in token för en proportionell mĂ€ngd fiatvaluta.Â
AnvĂ€ndarna kan göra ett antal saker med sina token â de kan köpa varor och tjĂ€nster eller anvĂ€nda dem i DApps. Alternativt kan de begĂ€ra att emittenten byter ut dem pĂ„ en gĂ„ng. I det fallet brĂ€nner emittenten alla returnerade token (gör dem oanvĂ€ndbara) och tar ut rĂ€tt mĂ€ngd fiat frĂ„n sina reserver.
Kontraktet som styr detta system Àr, som tidigare nÀmnts, relativt förenklat. Att lansera ett stablecoin krÀver dock mycket arbete med externa faktorer som logistik, regelefterlevnad med mera.
SĂ€kerhetstoken
Verktygstoken
Kan man skapa ERC-20-token?
Tokendistributionen behöver inte vara automatiserad. MÄnga crowdfunding-event tillÄter anvÀndare att betala med en rad olika digitala valutor (som BNB, BTC, ETH och USDT). Respektive balans allokeras sedan till de adresser som anvÀndarna tillhandahÄller.
För- och nackdelar med ERC-20-token
Fördelar med ERC-20-token
Fungibla
Detta Ă€r idealiskt om din token syftar till att vara en valuta av nĂ„got slag. Du skulle inte vilja ha individuella enheter med sĂ€rskiljbara egenskaper, vilket skulle göra dem icke-fungibla. Detta kan göra att vissa token blir mer â eller mindre â vĂ€rdefulla Ă€n andra, vilket eliminerar deras syfte.
Flexibla
Som vi utforskade i föregÄende avsnitt Àr ERC-20-token mycket anpassningsbara och kan skrÀddarsys för mÄnga olika applikationer. De kan till exempel anvÀndas som valuta i spel, i lojalitetspoÀngprogram, som digitala samlarobjekt eller till och med för att representera konst och ÀganderÀtt.
PopulÀra
ERC-20:s popularitet i kryptovalutabranschen Ă€r en mycket övertygande anledning till att anvĂ€nda dem som en mall. Det finns massor av börser, plĂ„nböcker och smarta kontrakt som redan Ă€r kompatibla med nylanserade token. Dessutom finns det gott om stöd och dokumentation för utvecklare.Â
Nackdelar med ERC-20-token
Skalbarhet
Precis som med mĂ„nga kryptovalutanĂ€tverk Ă€r Ethereum inte immun mot vĂ€xtvĂ€rk. I sin nuvarande form skalar den inte bra â att försöka skicka en transaktion under högtrafik resulterar i höga avgifter och förseningar. Om du startar en ERC-20-token och nĂ€tverket blir överbelastat, kan dess anvĂ€ndbarhet pĂ„verkas.
BedrÀgerier
Ăven om det inte Ă€r ett problem med sjĂ€lva tekniken kan enkelheten med vilken en token kan lanseras anses vara en nackdel i vissa avseenden. Det krĂ€vs minimal anstrĂ€ngning att skapa en enkel ERC-20-token, vilket betyder att vem som helst kan göra det â pĂ„ gott och ont.
DÀrför bör du vara försiktig med vad du investerar i. Det finns ett antal pyramid- och ponzi-system förklÀdda som blockkedjeprojekt.  Gör din egen efterforskning innan du investerar för att dra dina egna slutsatser om huruvida en möjlighet Àr legitim eller inte.
Â
ERC-20, ERC-1155, ERC-223, ERC-721 â vad Ă€r skillnaden?
ERC-20 var den första (och hittills den mest populÀra) Ethereum-tokenstandarden, men inte den enda. Under Ärens lopp har mÄnga andra dykt upp, som antingen föreslÄr förbÀttringar av ERC-20 eller försöker uppnÄ helt olika mÄl.
NÄgra av de mindre vanliga standarderna Àr de som anvÀnds i icke-fungibla token (NFT:er). Ibland gynnas anvÀndningsomrÄdet faktiskt av att ha unika token med olika attribut. Om du ville tokenisera ett unikt konstverk, tillgÄng i ett spel med mera, kan en av dessa kontraktstyper vara mer tilltalande.
ERC-1155-standarden kan ses som en förbÀttring av bÄde ERC-721 och ERC-20. Den beskriver en standard som stöder bÄde fungibla och icke-fungibla token i samma kontrakt.
Andra alternativ som ERC-223 eller ERC-621 syftar till att förbÀttra anvÀndbarheten. Den första implementerar skyddsÄtgÀrder för att förhindra oavsiktliga tokenöverföringar. Den andra lÀgger till extra funktioner för att öka och minska tokentillgÄngen.
Sammanfattningsvis
ERC-20-standarden har dominerat kryptotillgÄngsvÀrlden i flera Är och det Àr inte svÄrt att förstÄ varför. Med relativ lÀtthet kan vem som helst anvÀnda ett enkelt kontrakt som passar ett brett spektrum av anvÀndningsomrÄden (verktygstoken, stablecoin, och sÄ vidare). Med det sagt saknar ERC-20 nÄgra av de funktioner som har skapats av andra standarder. Det ÄterstÄr att se om efterföljande typer av kontrakt kommer att ersÀtta den.