Forstå ERC20

Forstå ERC20

Denne artikkelen antar at leseren allerede i det minste er kjent med følgende konsepter: Ethereum blockchain, dapps, eter, smarte kontrakter & ICO.

Ethereum blockchain er en distribuert, åpen kildekode-blockchain-basert databehandlingsplattform for raskt å sette på nytt. Denne databehandlingsplattformen, Ethereum-nettverket, er vert for desentraliserte applikasjoner (dapps) som kjøres med koder som heter smarte kontrakter; alle transaksjoner på Ethereum-nettverket, samt beregningskostnadene for å utføre smarte kontrakter, blir betalt i Ethereum-kryptovalutaeteren.

Noen, men ikke alle, disse dappene (desentraliserte apper) krever en ekstra in-dapp-valuta – disse dappene introduserer sin nye valuta, navngitt token, og skaffer midler gjennom et første mynt-tilbud (ICO).

Ethereum blockchain-plattformen er bygget på en slik måte at den oppmuntrer apper av alle slag – inkludert de som krever oppretting, vedlikehold & overføring av digitale eiendeler. Disse dapp-spesifikke Ethereum-tokens kan implementeres for å skape et nettverk av dapps med meningsfylte brukstilfeller som fakturering factoring, nettleserbrede betalinger, & et debetkort for kryptovaluta.

Alle tidligere nevnte ideer er for tiden levende Ethereum-baserte dapp-tokens som følger en veldig vanlig token-programmeringsstandard; faktisk følger 99% av alle utplasserte Ethereum-tokens denne standarden, ERC20-standarden.

ERC20-tokenstandarden, som står for Ethereum Requests for Comment, er et standardsett med programmerings “regler” som alle Ethereum-baserte token forventes å følge. Utviklere ble enige om disse seks funksjonene & to hendelser som minimalt levedyktig token for å normalisere forventet atferd mens de kommuniserer over Ethereum-nettverket – ved å etablere denne protokollen, kan Ethereum-utviklere enkelt jobbe med eksterne smarte kontrakter.

Vi introduserer Solidity

Mens den mest populære Ethereum klient er for tiden skrevet i Googles GO, valgene for et utviklervennlig smart kontraktspråk er mange. Utviklere kan velge mellom språk som Vyper, Bambus, Slange & Tørrhet.

For resten av denne artikkelen vil vi fremheve & gjennomgang av Solidity-syntaksen.

Solidity er et høyt nivå kontraktsorientert programmeringsspråk som brukes til å implementere smarte kontrakter. Soliditet-syntaksen, for de som er kjent med programmering, er en misforståelse av Javascript, Python, & C konsepter; den er statisk skrevet, støtter arv & har en rekke biblioteker rett fra start. For ytterligere informasjon om soliditet, kan du gå til dokumentasjonen som finnes her: https://solidity.readthedocs.io/en/develop/#

ERC20 grensesnitt gjennomgang

Vi kommer til å begynne å grave litt dypere i nøyaktig hva & hvordan denne standarden er implementert på tvers av Ethereum-nettverket – som tidligere nevnt, vil vi dekke dette spesielt i Solidity-syntaksen.

I Ethereum-land starter alt & slutter med kontrakter. Soliditetsdokumentasjon definerer kontrakter som “en samling av kode (dens funksjoner) & data (dens stat) som er bosatt på en spesifikk adresse i Ethereum blockchain. ” Ethereum-kontrakter støtter arv – så en kontrakt kan være en forekomst av en annen kontrakt.


Etter denne logikken kan en abstrakt kontrakt, en som brukes strengt til arv, også brukes som feilsikker ved å definere hva en ny kontrakt inneholder for å kompilere. Disse abstrakte avtalene er også kjent som grensesnittkontrakter.

Dette betyr at enhver token-kontrakt som er en ERC20-forekomst ikke kompileres uten følgende; derimot betyr dette at Ethereum-utviklere nå vet hvilke funksjoner & atferd de kan forvente når de samhandler med noe ERC20-token.

ERC20-standarden er en grensesnittkontrakt som inneholder totalt seks kjørbare funksjoner & to logghendelser.

Godtgjørelse

Tillatelsesfunksjonen tillater to adresser for å opprette gjentatt ensidig overføring; en lommebokadresse tokenEier & et sekund lommebok tilbringer er definert som de to lommebøkene som vil delta i gjentatte transaksjoner. Spesielt vil lommebokutgiveren trekke seg noen beløp fra lommeboken tokenEier kl noen intervall – begge disse er variabler som vil bli bestemt senere.

Vedta

For Godkjenn-funksjonen, se tilbake til vår Allowance-funksjon: funksjonen gjør det mulig for to adresser å trekke seg gjentatte ganger enveis. Godkjenningsfunksjonen, passende navn, er en enkel standardfunksjon som krever at lommebokseieren “godkjenner” en transaksjon som er i ferd med å bli gjort på hans / hennes vegne i sammenheng med en kvote. Denne funksjonen krever to innganger, adressen til utgiveren & mengden tokens som sendes. Produksjonen returnerer en offentlig boolsk som dikterer om godkjenning ble gitt eller avvist.

Balanse av

BalanceOf er en intuitiv funksjon som godtar en enkelt adresseinngangsparameter (adresse tokenOwner) & returnerer en enkelt offentlig konstant (uint balance). Den returnerte uintkonstanten, balansen, representerer mengden tokens den forespurte adressen har – husk at transaksjoner på en blockchain vanligvis er offentlige, Ethereum er ikke annerledes.

TotalSupply

TotalSupply-funksjonen, som du antagelig kan gjette fra navnet, er en anonym konstruktorfunksjon som bare kjørte en gang i det aller første øyeblikket av distribusjonen til det live Ethereum-nettverket. Funksjonen returnerer et offentlig konstant totalSupply ikke tildelt heltall (uint) som fungerer som at tokens totalforsyning for resten av kontraktens levetid. Denne totale forsyningskonstanten er vanligvis definert på to måter: hardkoding av en variabel eller finansiering fra en opprinnelig lommebok.

Overføre

Overføringsfunksjonen er kjernefunksjonen til ethvert ERC20-token; det definerer & implementerer direkte lommebok-eier-til-kollega overføring av token. Siden eiere av lommeboken foretar denne samtalen, er det bare to parametere som kreves: mottakeradressen & mengden tokens som sendes. Disse to parametrene initialiseres vanligvis som (adresse til) & (uint tokens). Verdien for overføringsretur er ganske enkelt en boolsk som bekrefter om mottakeren (“til” -adressen) mottok de sendte tokens.

Overfør fra

TransferFrom-funksjonen tillater en smart kontrakt for å utføre en overføring med passerte parametere på vegne av lommebokseieren. Forskjell nøye med det forrige Transfer-funksjon. Den forrige funksjonen tillatt for lommebokseier å sende tokens direkte til en adresse; dette Overfør fra åpner for en smart kontrakt å sende tokens på lommebokseiernes vegne, for eksempel å fylle en ordre på en børs, frigjøre midler i tide, eller betale våre gevinster i lykke.

De Overfør fra funksjonen har tre inngangsparametere, adressen til lommebokseieren, adressen til mottakerlommeboken, & antall sendte tokens. De initialiseres ofte i følgende syntaks: (adresse fra, adresse til, uint-tokens). Funksjonsutgangen er nøyaktig den samme som overføringsutgangen: en enkelt offentlig boolean som beskriver suksessen eller feilen i transaksjonen.

Sammendrag

De seks funksjonene som er beskrevet ovenfor er de seks kjernefunksjonene som finnes i 99% av alle nåværende ERC20-tokens. Med noen få unntak (ser på deg Golem), kan Ethereum-utviklere føle seg trygge å vite at de fullt ut kan forvente disse kjernefunksjonene mens de utvikler interne kontrakter eller når de kommuniserer med eksterne offentlige kontrakter ute i naturen.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map