Comprendre ERC20

Aquest article suposa que el lector ja coneix, com a mínim, els conceptes següents: la cadena de blocs Ethereum, dapps, èter, contractes intel·ligents & ICO.

Per tornar a tapar ràpidament, la cadena de blocs d’Ethereum és una plataforma informàtica distribuïda de codi obert basada en cadenes de blocs. Aquesta plataforma informàtica, la xarxa Ethereum, allotja aplicacions descentralitzades (dapps) que s’executen amb trossos de codis anomenats contractes intel·ligents; totes les transaccions a la xarxa Ethereum, així com els costos informàtics de l’execució de contractes intel·ligents, es paguen a l’èter criptomoneda Ethereum.

Alguns, però no tots, d’aquests dapps (aplicacions descentralitzades) requereixen una moneda addicional en dapp: aquests dapps presenten la seva nova moneda, anomenada token, i recapten fons mitjançant una oferta inicial de moneda (ICO).

La plataforma Ethereum blockchain està construïda de manera que fomenta tot tipus de dapps, inclosos els que requereixen la creació, el manteniment & transferència d’actius digitals. Aquests tokens Ethereum específics de dapp es poden implementar per crear una xarxa de dapps amb casos d’ús significatius com ara facturació de factures, pagaments a tot el navegador, & una targeta de dèbit de criptomoneda.

Totes les idees esmentades anteriorment són tokens dapp basats en Ethereum en viu que segueixen un estàndard de programació de tokens molt comú; de fet, el 99% de tots els tokens Ethereum desplegats segueixen aquest estàndard, l’estàndard ERC20.

L’estàndard de token ERC20, que significa Ethereum Request for Comment, és un conjunt estàndard de “regles” de programació que s’espera que segueixin tots els token basats en Ethereum. Els desenvolupadors van acordar aquestes sis funcions & dos esdeveniments com a testimoni viable mínim per normalitzar els comportaments esperats mentre es comuniquen a través de la xarxa Ethereum: mitjançant l’establiment d’aquest protocol, els desenvolupadors d’Ethereum poden treballar fàcilment amb contractes intel·ligents externs.

Presentació de Solidity

Mentre que l’Ethereum més popular client actualment està escrit en GO de Google, les opcions per a un llenguatge de contracte intel·ligent adequat per a desenvolupadors són abundants. Els desenvolupadors poden triar entre idiomes com ara Vyper, Bambú, Serp & Solidesa.

Per a la resta d’aquest article, destacarem & tutorial Sintaxi de la solidesa.

Solidity és un llenguatge de programació orientat als contractes d’alt nivell que s’utilitza per implementar contractes intel·ligents. La sintaxi Solidity, per a aquells que estiguin familiaritzats amb la programació, és una barreja de Javascript, Python, & C conceptes; té un tipus estàtic, admet l’herència & té una gran quantitat de biblioteques des del primer moment. Per obtenir més informació sobre Solidity, heu d’anar a la documentació que es troba aquí: https://solidity.readthedocs.io/en/develop/#

Tutorial de la interfície ERC20

Començarem a aprofundir una mica més en què & com s’implementa aquest estàndard a tota la xarxa Ethereum; com es va esmentar anteriorment, ho tractarem específicament a la sintaxi Solidity.

A Ethereum-land, tot comença & acaba amb contractes. La documentació de solidesa defineix els contractes com “una col·lecció de codi (el seu funcions) & dades (la seva estat) que resideixen en una adreça específica de la cadena de blocs Ethereum “. Els contractes Ethereum admeten l’herència, de manera que un contracte pot ser una instància d’un altre contracte.

Seguint aquesta lògica, un contracte abstracte, que s’utilitza estrictament per a l’herència, també es pot utilitzar com a fallada definint el que és un nou contracte haver de contenir per tal de compilar. Aquests contractes abstractes, també es coneixen com contractes d’interfície.

Això significa que qualsevol contracte de testimoni que sigui una instància ERC20 no es compila sense el següent; en canvi, això vol dir que els desenvolupadors d’Ethereum saben ara quines funcions & comportaments que poden esperar en interactuar amb qualsevol testimoni ERC20.

L’estàndard ERC20 és un contracte d’interfície que conté un total de sis funcions executables & dos esdeveniments de registre.

Bonificació

La funció Allowance permet que dues adreces creen una transferència unidireccional repetida; una adreça de cartera propietari de fitxes & un segon despeses de cartera es defineixen com les dues carteres que participaran en transaccions repetides. Concretament, es retirarà la despesa de la cartera alguns quantitat de la cartera tokenOwner a alguns interval: totes dues són variables que es determinaran més endavant.

Aprovar

Per a la funció Aprovar, consulteu la nostra funció de bonificació: la funció permet que dues adreces es retirin repetidament unidireccionalment. La funció Aprova, amb el nom adequat, és una funció estàndard senzilla que requereix que el propietari de la cartera “aprovi” una transacció que està a punt de fer en nom seu en el context d’una bonificació. Aquesta funció requereix dues entrades, l’adreça del gastador & la quantitat de fitxes que s’envien. La sortida retorna un booleà públic que dicta si s’ha proporcionat o rebutjat l’aprovació.

BalanceOf

BalanceOf és una funció intuïtiva que accepta un paràmetre d’entrada d’adreça únic (adreça tokenOwner) & retorna una única constant pública (saldo uint). La constant restant, el saldo, representa la quantitat de fitxes que guarda l’adreça consultada; recordeu, les transaccions en una cadena de blocs solen ser públiques, Ethereum no és diferent.

TotalSupply

La funció totalSupply, com probablement es pot endevinar pel nom, és una funció constructora anònima que només s’executa una vegada en el primer moment del desplegament a la xarxa Ethereum en viu. La funció retorna una constant pública totalSupply enter no assignat (uint) que actua com a subministrament total de tokens durant la resta de la vida del contracte. Aquesta constant TotalSupply es defineix generalment de dues maneres: codificar en format dur una variable o finançar-se des d’una cartera d’origen.

Transferència

La funció de transferència és la funció bàsica de qualsevol testimoni ERC20; defineix & implementa directament propietari de cartera a igual transferència de fitxes. Com que els propietaris de carteres fan aquesta trucada, només calen dos paràmetres: l’adreça del receptor & la quantitat de fitxes que s’envien. Aquests dos paràmetres solen inicialitzar-se com (adreça a) & (fitxes uint). El valor de retorn de la transferència és simplement un booleà que confirma si el receptor (l’adreça “a”) va rebre les fitxes enviades.

Transferència des de

La funció TransferFrom permet un contracte intel·ligent per executar una transferència amb els paràmetres passats en nom del propietari de la cartera. Feu la distinció amb cura amb l’anterior Transfefunció r. La funció anterior permetia el fitxer propietari de cartera enviar directament fitxes a una adreça; això Transferència des de permet un contracte intel·ligent per enviar fitxes en nom dels propietaris de carteres, com ara omplir una comanda en una bossa, alliberar fons de manera oportuna o pagar els nostres guanys en un joc de sort.

El Transferència des de La funció té tres paràmetres d’entrada, l’adreça del propietari de la cartera, l’adreça de la cartera del receptor, & la quantitat de fitxes enviades. Sovint s’inicialitzen en la sintaxi següent: (adreça de, adreça a, fitxes uint). La sortida de la funció és exactament la mateixa que la sortida de transferència: un únic booleà públic que detalla l’èxit o el fracàs de la transacció.

Resum

Les sis funcions detallades anteriorment són les sis funcions bàsiques que es troben en el 99% de tots els tokens ERC20 en viu actualment. Amb algunes excepcions (mirant-vos Golem), els desenvolupadors d’Ethereum poden sentir-se segurs sabent que poden esperar plenament aquestes funcions bàsiques mentre desenvolupen contractes interns o quan interactuen amb contractes públics externs a la natura.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me