Smart Contract — Token ERC 20 — Parte 1

Cos’è e quali sono le caratteristiche di un token ERC 20.

Marco Ferraioli
weBeetle
3 min readJan 5, 2022

--

Photo by Executium on Unsplash

Cosa significa ERC?

L‘acronimo ERC si riferisce a Ethereum Request for Comment. Gli ERC sono dei documenti tecnici che definiscono degli standard di programmazione per alcuni tipi di smart contract.

Che cos’è un Token ERC 20?

Se ci interessiamo al mondo delle cripto valute, oggi siamo abituati a trattare e considerare alcuni Token ERC 20 come se fossero delle valute a sé stanti, senza sapere che in realtà dietro di loro si cela uno smart contract pubblicamente visionabile sulla rete Ethereum.

Rispetto ad ETH (la cripto valuta nativa di Ethereum), i Token ERC-20 non sono detenuti direttamente dagli account. I token esistono solo all’interno dello smart contract.

Lo smart contract di un Token ERC 20 specifica le regole per i token (nome, simbolo, divisibilità, ecc…) e possiede una lista dove vengono associati i saldi degli utenti ai loro indirizzi Ethereum.

ERC 20 è uno standard per i token fungibili.

Quali sono le sue applicazioni?

Un Token ERC 20 può avere varie applicazioni, ad esempio:

  • Una partecipazione in una società;
  • Punti fedeltà;
  • Una valuta fiat come l’USD (Dollaro Statunitense);
  • La valuta all’interno di un gioco;
  • Tanto altro.

Come è strutturato un Token ERC 20?

Lo standard Token ERC 20 di base prevede 9 metodi e 2 eventi.

Metodi

I metodi di un Token ERC 20 possiamo dividerli in sei obbligatori: totalSupply, balanceOf, transfer, transferFrom, approve e allowance e tre opzionali: name, symbol e decimal.

Passando in rassegna i sei metodi obbligatori dello standard ERC 20, abbiamo:

  • totalSupply: restituisce la fornitura totale dei token contenuti nel contratto;
  • balanceOf: richiede un parametro in ingresso, un indirizzo Ethereum. Quando il metodo viene invocato, restituisce il saldo di token di quell’indirizzo;
  • transfer: trasferisce token da un utente a un altro e richiede l’indirizzo a cui vuoi inviare i token e l’importo da trasferire. Inoltre, il metodo transfer quando chiamato innesca un evento, nel caso specifico l’evento Transfer (che vedremo dopo in dettaglio);
  • transferFrom: è un’alternativa alla funzione transfer, offre un maggiore grado di programmabilità nelle applicazioni decentralizzate;
  • approve: è un’altra funzione utile dal punto di vista della programmabilità. Tramite la funzione approve, puoi limitare il numero di token che uno smart contract può prelevare dal tuo saldo;
  • allowance: può essere usata in combinazione con approve. Quando dai al contratto il permesso di gestire i tuoi token, potresti usare questa funzione per controllare quanti ne può ancora prelevare.

Eventi

Transfer: si attiva quando i token vengono trasferiti, inclusi i trasferimenti di valore zero.

Approval: si attiva su qualsiasi chiamata riuscita a approve(address _spender, uint256 _value)

Queste informazioni rappresentano la base introduttiva per capire come creare un token ERC20. Nel prossimo articolo partiremo da qui per passare dalla teoria alla pratica. Quindi, a presto!

--

--