---
title: "O guia completo de tokens ERC-20 e Solidity (2025)"
description: "O que é o padrão Solidity ERC20, como funciona e quando usá-lo"
---

# O guia completo de tokens ERC-20 e Solidity (2025)

O [ecossistema Ethereum](https://www.alchemy.com/dapps/ecosystem/ethereum) contém uma ampla variedade de padrões que representam a funcionalidade dos [contratos inteligentes](https://www.alchemy.com/overviews/solidity-smart-contract) desde a criação até a implantação. Os padrões mais comuns são ERC-20, ERC-721, ERC-777 e ERC-1155, cada um com seu próprio objetivo principal.

Este artigo define os tokens ERC-20, apresenta alguns de seus usos e descreve algumas das [funções obrigatórias na linguagem de programação Solidity](https://www.alchemy.com/overviews/solidity-functions) que os desenvolvedores precisam usar para permanecer em conformidade com o padrão. Se você quiser criar seu próprio token ERC-20 usando [Solidity](https://www.alchemy.com/overviews/solidity), as diretrizes e definições deste artigo vão te dar um entendimento melhor de como fazer isso.

## **O que é um token ERC-20?**

**O ERC-20 é um token de criptomoeda fungível popular, compatível com Ethereum ou blockchains compatíveis com EVM.** Ele funciona como um ativo digital que pode representar qualquer coisa na blockchain, o que permite flexibilidade para diversos casos de uso.

Esse contrato inteligente pré-definido contém uma interface específica que permite que ele seja usado como um padrão técnico para desenvolvimento. Desenvolvedores podem aproveitar o token ERC-20 e suas regras associadas para uma experiência de desenvolvimento mais simples. Protocolos de exchange descentralizada populares como [Uniswap](https://www.alchemy.com/dapps/uniswap) e SushiSwap utilizam o padrão de token ERC-20 como blocos de construção pela sua compatibilidade e integração perfeitas em seus ecossistemas.

### **Como os tokens ERC-20 são usados?**

**Como o token ERC-20 não tem restrições sobre o que pode representar, ele pode ir além de uma criptomoeda típica \(ex.: ETH\). Como requisito, os ativos ERC-20 são fungíveis, transferíveis e podem ter um fornecimento máximo limitado. Isso é útil na criação de recompensas, objetos físicos, ações de empresas e muito mais.**

Projetado para padronizar o desenvolvimento de tokens, o token ERC-20 pode representar qualquer ativo fungível na blockchain Ethereum. Ao fornecer algumas variáveis para representar um ativo específico \(ex.: nome, símbolo e fornecimento\), qualquer pessoa pode lançar um token ERC20 com o comportamento e a interface padrão.

Os tokens ERC-20 são fungíveis, já que cada token é exatamente igual a qualquer outro token. Sem direitos ou comportamentos especiais associados a nenhum token individual, essa igualdade de valor entre os tokens ERC-20 os torna úteis em aplicações como meio de troca, moeda, direitos de voto e staking.

### **Por que o padrão de token ERC-20 é importante?**

O padrão de token ERC-20 introduz uma abordagem específica para tokens fungíveis, garantindo que todos compartilhem propriedades semelhantes.

**‍**Desde sua [proposta em 2015](https://eips.ethereum.org/EIPS/eip-20), o desenvolvimento do padrão de token ERC-20 permite que outros protocolos, plataformas e desenvolvedores criem contratos inteligentes que possam usar qualquer token que siga o padrão sem precisar criar lógica especial para cada novo token. A padronização dos contratos inteligentes melhora o processo de desenvolvimento e, por sua vez, beneficia bastante todo o ecossistema cripto.

## **Quais funções do Solidity são obrigatórias para todos os tokens ERC-20?**

**O padrão ERC-20 contém um conjunto de métodos e eventos que devem estar presentes em toda implementação do padrão, incluindo métodos para transferir valor, consultar saldos de endereços e obter outros metadados.**

Um entendimento das particularidades da linguagem Solidity e um conhecimento prático de como usar funções para [criar tokens ERC-20 na Ethereum](https://www.alchemy.com/docs/reference/token-api-overview) pode acelerar sua jornada para se tornar um desenvolvedor Solidity.

### **1. totalSupply**

O método _totalSupply_ indica o fornecimento total atual em circulação dos tokens. Veja um exemplo:

### **2. balanceOf**

O método _balanceOf_ calcula o número de tokens contidos em um determinado endereço de carteira. Veja um exemplo:

### **3. Transfer**

O método _transfer_ envia tokens de um endereço para outro, onde o remetente é a origem da transação. Veja um exemplo:

### **4. Approve**

O método _approve_ permite que outro endereço gaste tokens em seu nome. Isso é útil ao interagir com contratos inteligentes que precisam de acesso aos seus tokens. Um caso de uso popular para o método _approve_ é uma exchange descentralizada. Veja um exemplo:

### **5. transferFrom**

**‍**O método _transferFrom_ é útil em conjunto com o método _approve_. Depois que você autoriza alguém a gastar seus tokens, essa pessoa pode usar o _transferFrom_ para movê-los da sua conta para outra conta como parte de uma transação. Um bom caso de uso é uma exchange descentralizada. Veja um exemplo:

### **6. Allowance**

O método _allowance_ é a quantidade que um endereço pode gastar em nome de outro endereço. Veja um exemplo:

## **Quais funções do Solidity são opcionais para todos os tokens ERC-20?**

**Nome, símbolo e decimais são todas funções opcionais que servem como extensão da interface base do contrato de token ERC-20.** Embora essas funções não sejam obrigatórias, elas fornecem detalhes adicionais ao contrato que ajudam a entender seu objetivo. Essa [interface principal](https://www.alchemy.com/overviews/solidity-interface) pode servir como base para personalizações e extensões adicionais do contrato inteligente.

### **1. Name**‍

O name é um nome legível por humanos que define o propósito do contrato. Veja um exemplo:

### **2. Symbol**

O symbol é um ticker legível por humanos do token que pode ser usado para representá-lo. Similar ao ETH, BTC, etc. Veja um exemplo:

### **3. Decimals**

Decimals define a denominação da menor unidade da moeda. Geralmente é 18, que é a mesma denominação do ether \([a menor unidade do ether é o wei](https://www.alchemy.com/gwei-calculator): um ether equivale a 1e18 wei\).

## **O que são estruturas de dados ERC-20?**

Estruturas de dados ERC-20, como tabelas de saldos e allowances, facilitam a organização e a implementação de operações na blockchain.

### **Balances**

Uma tabela interna de saldos de tokens é usada para rastrear a propriedade total de um endereço de carteira. Cada transferência é uma dedução de um saldo e uma adição a outro saldo.

### **Allowances**

Uma tabela interna de allowances de tokens é usada para rastrear gastos delegados por um endereço de carteira. Usando [mapeamento aninhado](https://www.alchemy.com/overviews/solidity-mapping), a chave primária é o endereço do proprietário do token, que é mapeado para um endereço gastador e fornece o valor delegado a ser gasto.

## **Comece a construir com a Alchemy**

O padrão ERC-20 é o padrão mais importante a surgir do ecossistema Ethereum, pois é amplamente adotado e usado nos protocolos de contratos inteligentes mais relevantes. Como desenvolvedor, é altamente recomendável dedicar um tempo para conhecer esse padrão e implantar seu próprio token ERC-20.

Para [aprender sobre tokens ERC-20](https://www.alchemy.com/overviews/learn-solidity) e outros fundamentos de programação em Solidity, garanta sua vaga no Ethereum Developer Bootcamp da Alchemy University.
