Skip to content
Back to Blog
cryptoethereumtokensnft

ERC-20 vs ERC-721 vs ERC-1155: Diferenças

Três padrões de token, três funções. ERC-20 para moedas, ERC-721 para NFTs únicos, ERC-1155 para ambos de uma vez. Saiba como escolher e quanto cada um custa.

SZ
Founder, Molixa
13 min read
Compartilhar
ERC-20 vs ERC-721 vs ERC-1155: Diferenças
Table of contents9 sections

A versão resumida da pergunta erc20 vs erc721 vs erc1155 (ERC-20 vs ERC-721 vs ERC-1155 completo) é: ERC-20 cria tokens fungíveis onde cada unidade é idêntica (moedas, pontos, tokens de governança), ERC-721 cria tokens não fungíveis onde cada item é único (arte, títulos, colecionáveis nomeados), e ERC-1155 é um padrão multi-token que lida com itens fungíveis e não fungíveis em um único contrato com transferências em lote baratas. Escolha o padrão perguntando se seus itens são intercambiáveis, únicos ou uma mistura de ambos.

Essa frase responde o que a maioria das pessoas pesquisa. A parte que quase nenhuma comparação cobre é a decisão prática: quando o ERC-1155 realmente supera o ERC-721 em gas, o que uma cunhagem em lote realmente economiza e qual padrão usar quando sua ideia está na zona cinzenta. Este guia aborda as verdadeiras compensações e depois aponta para um gerador para que você possa produzir um contrato funcional para o que se encaixar.

ERC-20 vs ERC-721 vs ERC-1155 de forma resumida#

Antes dos detalhes, aqui está a comparação completa em uma tabela. Leia de cima para baixo, depois vamos explorar as linhas que realmente influenciam a decisão.

CaracterísticaERC-20ERC-721ERC-1155
Tipo de tokenFungívelNão fungívelAmbos (multi-token)
Cada unidade éIdênticaÚnicaÚnica ou idêntica por ID
Contratos por projetoUm por tokenGeralmente um por coleçãoUm para vários tipos de token
Transferências em loteNão (uma transferência por chamada)Não (nativa)Sim (integrada)
Uso típicoMoeda, pontos, governançaArte 1 de 1, NFTs nomeadosJogos, edições, ativos mistos
RastreiaUm único saldo por endereçoPropriedade individual de tokenIdSaldo por tokenId por endereço
Ano do padrão201520182019

Os três padrões não são versões concorrentes da mesma coisa. São interfaces diferentes (conjuntos de funções obrigatórias) que carteiras, marketplaces e exchanges concordam em entender. Um token "é" ERC-20 porque implementa as funções ERC-20, nada mais. É por isso que a interoperabilidade funciona: qualquer carteira que fale ERC-20 pode armazenar qualquer token ERC-20 sem código personalizado.

O que é ERC-20 e quando usá-lo#

ERC-20 é o padrão de tokens fungíveis. Fungível significa intercambiável: um de seus tokens vale exatamente o mesmo que qualquer outro, da mesma forma que cada nota de dólar é igual a qualquer outra nota de dólar. O contrato armazena um único número por endereço (seu saldo) e permite que você transfira parte dele.

Recorra ao ERC-20 quando sua unidade não tiver identidade individual:

  • Uma criptomoeda ou stablecoin.
  • Tokens de governança que concedem poder de voto por quantidade.
  • Pontos de fidelidade, créditos no aplicativo ou tokens de recompensa.
  • Um token de utilidade que controla acesso ou paga taxas.

Todo o modelo é "endereço X possui N tokens". Não existe o conceito de token número 7 versus token número 8, porque eles são indistinguíveis. Isso é o que torna o ERC-20 barato e simples. Também significa que é a ferramenta errada no momento em que você precisa provar que um item específico é único.

Se você pode trocar qualquer unidade por qualquer outra unidade sem que ninguém se importe, você quer ERC-20. Quando a singularidade importa, você o superou.

O que é ERC-721 e quando usá-lo#

ERC-721 é o padrão de token não fungível (NFT). Cada token possui um tokenId único, e o contrato rastreia quem possui cada ID individual. O token 1 e o token 2 são ativos distintos que podem ter metadados, imagens e preços diferentes.

Use ERC-721 quando cada item for genuinamente único:

  • Arte digital ou fotografia 1 de 1.
  • Coleções de fotos de perfil onde cada peça tem características únicas.
  • Representações on-chain de ativos do mundo real (uma escritura específica, um ingresso específico).
  • Passes de associação onde cada passe é rastreado individualmente.

O custo dessa exclusividade é a sobrecarga. Como o contrato rastreia a propriedade por ID, cunhar e transferir são mais pesados que ERC-20, e cunhar mil NFTs separados significa mil gravações separadas, a menos que você use ferramentas extras. Essa sobrecarga é exatamente o problema que ERC-1155 foi projetado para resolver. Cada token ERC-721 também aponta para um arquivo de metadados (o JSON que contém nome, imagem e características), então o lado off-chain importa tanto quanto o contrato. Se você está cunhando uma coleção, pode organizar esse JSON corretamente com um gerador de metadados NFT antes de implantar.

O que é ERC-1155 e quando ele supera o ERC-721#

ERC-1155 é o padrão multi-token, e é o que as pessoas menos entendem. Um único contrato ERC-1155 pode conter vários tipos de token ao mesmo tempo, e cada tipo pode ser fungível (milhares de cópias idênticas) ou não fungível (um único item exclusivo). Em vez de "um saldo por endereço", ele rastreia "saldo por id de token por endereço".

Esse design desbloqueia duas coisas que o ERC-721 não consegue fazer nativamente:

  • Tokens semifungíveis. Você pode ter 5.000 cópias de "Poção de Vida" (id 1) e exatamente uma "Espada Lendária" (id 2) no mesmo contrato. Edições, itens de jogo e passes em camadas se encaixam nesse modelo.
  • Operações em lote. Você pode transferir ou cunhar vários ids de token em uma única transação com safeBatchTransferFrom, em vez de uma chamada por item.

O caso do gás: onde o ERC-1155 realmente ganha#

Esta é a linha que toda outra comparação ignora. A vantagem do ERC-1155 não é mágica, é o lote. Se você cunha ou move itens um de cada vez, ERC-1155 e ERC-721 são aproximadamente comparáveis por item. A economia aparece quando você faz muitos de uma vez.

Considere um jogo distribuindo um pacote inicial de 10 itens diferentes para um novo jogador:

  • Abordagem ERC-721: 10 transações de cunhagem separadas (ou uma função de lote personalizada que você mesmo escreveu). Cada transação carrega seu próprio custo base de gás.
  • Abordagem ERC-1155: uma chamada mintBatch que cria todos os 10 em uma única transação. Você paga o custo base da transação uma vez e um custo incremental menor por item.

Para uma única transferência, a diferença é pequena e o ERC-721 pode até ser um pouco mais enxuto. Para dez ou cem itens de uma vez, o padrão de lote sai claramente na frente porque você para de pagar o custo fixo por transação repetidamente. A regra honesta: ERC-1155 ganha em gás quando o lote faz parte do seu fluxo de trabalho real, e empata ou perde quando tudo é feito um de cada vez.

Não escolha ERC-1155 "porque é mais barato". É mais barato para padrões com muitos lotes (jogos, grandes distribuições, edições). Para uma coleção de arte estritamente única 1-de-1 que as pessoas cunham e negociam individualmente, o ERC-721 é mais simples e a diferença de gás desaparece.

O que o ERC-1155 sacrifica#

Nada é de graça. A metadata do ERC-1155 usa um esquema de URI com substituição de id que alguns marketplaces e ferramentas mais antigos lidam com menos elegância do que as URIs por token do ERC-721. O modelo semifungível também é mais exigente conceitualmente, o que significa mais maneiras de introduzir um bug. Se o seu projeto é puramente NFTs únicos e você não precisa de lotes, o poder extra é apenas área de superfície extra.

A Árvore de Decisão: Qual Padrão de Token Usar#

Pule a leitura das especificações. Responda a três perguntas em ordem.

  1. Seus itens são intercambiáveis (uma unidade equivale a qualquer outra)? Se sim, use ERC-20. Você está criando uma moeda, pontos ou um token de governança. Pare por aqui.
  2. Cada item é estritamente único, sem cópias, e você cunha e negocia individualmente? Se sim, use ERC-721. Você está criando arte 1 de 1, escrituras ou colecionáveis nomeados.
  3. Você tem uma mistura (alguns únicos, outros em edições) ou cunha e move itens em lotes? Se sim, use ERC-1155. Você está criando uma economia de jogo, um drop de edições ou uma plataforma multi-ativos.

Alguns exemplos reais tornam isso concreto:

ProjetoMelhor padrãoPor quê
Stablecoin ou token de governançaERC-20Fungibilidade pura, modelo apenas de saldo
Coleção de 10.000 PFPsERC-721Cada peça única, negociada individualmente
Arte de edição aberta (cópias ilimitadas)ERC-1155Muitas cópias idênticas de um mesmo ID
Jogo Web3 com itens + moedaERC-1155Mistura de fungíveis e únicos, muito loteamento
Ingressos para eventos, todos idênticosERC-1155 ou ERC-20Fungíveis se os assentos não forem atribuídos
Escritura de imóvel na blockchainERC-721Cada propriedade é um ativo distinto

Quando você estiver genuinamente em dúvida entre ERC-721 e ERC-1155, opte por ERC-1155 se loteamento ou edições estiverem em seu roteiro, e por ERC-721 se quiser o modelo mais simples possível para itens exclusivos com o suporte mais amplo de ferramentas legadas.

Da Decisão ao Contrato Implantável#

Conhecer o padrão é metade do trabalho. A outra metade é produzir um contrato que compile, siga as implementações de referência auditadas e inclua os recursos de segurança que você realmente deseja (controles de propriedade, limites de mint, pausa). Escrever isso do zero é onde iniciantes introduzem bugs.

Um caminho mais rápido é gerar o boilerplate e personalizar a partir dele. O gerador de contratos de token da Molixa produz Solidity pronto para implantação para ERC-20, ERC-721 e ERC-1155, construído em padrões de referência, para que você comece com código funcional em vez de um arquivo em branco. Gere a versão que corresponde à sua resposta da árvore de decisão e ajuste os parâmetros (nome, símbolo, fornecimento, lógica de mint) para o seu projeto.

Uma sequência de construção sensata:

  • Escolha o padrão usando as três perguntas acima.
  • Gere o contrato correspondente e leia o que ele faz antes de alterar qualquer coisa.
  • Prepare seus metadados (especialmente para coleções ERC-721 e ERC-1155).
  • Implante primeiro em uma testnet, crie alguns tokens e confirme se uma carteira os exibe corretamente.
  • Só então implante na mainnet.

Se o seu token for comprado, vendido ou gerar rendimento, lembre-se de que o lado fiscal também existe. Alienações e recompensas podem ser eventos tributáveis, e uma calculadora de impostos de criptomoedas ajuda a estimar a responsabilidade antes que ela o surpreenda na hora da declaração.

Erros Comuns ao Escolher um Padrão#

Alguns erros aparecem repetidamente.

  • Usar ERC-721 para edições. Se você está vendendo 500 cópias da mesma obra de arte, são 500 itens idênticos, o que é um id fungível ERC-1155, não 500 tokens ERC-721 separados.
  • Usar ERC-20 para qualquer coisa que precise de identidade. Ingressos com assentos marcados, associações com benefícios individuais ou colecionáveis não podem ser ERC-20, pois ERC-20 não tem rastreamento por item.
  • Escolher ERC-1155 para arte pura 1-de-1. Você herda complexidade que não usa, e algumas ferramentas mais antigas tratam metadados ERC-721 de forma mais suave.
  • Esquecer que os metadados são off-chain. O contrato detém a propriedade; o nome e a imagem geralmente ficam em um arquivo JSON que o contrato referencia. Errar isso faz seu NFT aparecer em branco.

Combine o padrão à forma dos seus ativos, não ao que está mais na moda. Os padrões são ferramentas, e o certo é aquele que modela seus itens com o menor atrito.

ERC-20 vs ERC-721 vs ERC-1155: A Conclusão#

Toda a decisão entre ERC-20 vs ERC-721 vs ERC-1155 se resume a uma ideia: modele seus ativos com honestidade. Se as unidades são intercambiáveis, use ERC-20. Se os itens são estritamente únicos, use ERC-721. Se você tem uma mistura ou faz lotes, use ERC-1155 e aproveite suas transferências em lote quando isso corresponder à forma como seu projeto realmente cunha e move tokens. Acertar o modelo primeiro, depois gerar um contrato para esse padrão e personalizá-lo, em vez de forçar sua ideia na interface errada e corrigi-la depois.

Perguntas Frequentes#

Qual é a principal diferença entre ERC-20 e ERC-721? ERC-20 cria tokens fungíveis onde cada unidade é idêntica e intercambiável, como uma moeda. ERC-721 cria tokens não fungíveis onde cada item tem um ID único e pode ter seus próprios metadados e valor. Use ERC-20 para moedas e pontos, e ERC-721 para itens únicos como arte 1 de 1.

O ERC-1155 é melhor que o ERC-721? Não universalmente. O ERC-1155 é melhor quando você precisa de uma mistura de itens fungíveis e únicos em um único contrato, ou quando você cria e transfere em lote, pois operações em lote economizam gás. O ERC-721 é mais simples e geralmente a melhor escolha para coleções de tokens estritamente únicos que são cunhados e negociados um de cada vez, onde a vantagem de gás do ERC-1155 desaparece.

O ERC-1155 sempre custa menos gás que o ERC-721? Não. O ERC-1155 economiza gás especificamente em operações em lote, onde você cria ou move muitos tokens em uma única transação em vez de uma transação por token. Para uma única cunhagem ou uma única transferência, os dois são aproximadamente comparáveis, e o ERC-721 pode até ser marginalmente mais enxuto. As economias aparecem apenas quando o loteamento faz parte do seu fluxo de trabalho real.

O que é um token semifungível? Um token semifungível é aquele que se comporta como fungível em um estágio e não fungível em outro, ou um tipo de token que tem muitas cópias idênticas sob um único ID. O ERC-1155 suporta isso diretamente, permitindo que um único contrato mantenha milhares de tokens de "edição" idênticos junto com itens verdadeiramente únicos.

Qual padrão de token devo usar para uma coleção de NFT? Para uma coleção onde cada peça é única e negociada individualmente, o ERC-721 é a escolha clássica. Para edições abertas, itens de jogos ou coleções que misturam ativos únicos e de múltiplas cópias, o ERC-1155 geralmente é melhor graças à sua cunhagem em lote e design multi-token. Decida com base em se seus itens são estritamente únicos ou incluem edições e lotes.

Posso criar esses contratos de token sem escrever Solidity do zero? Sim. Um gerador de contratos produz Solidity compatível com os padrões para ERC-20, ERC-721 e ERC-1155 com base em implementações de referência, então você começa com código funcional e personaliza parâmetros como nome, suprimento e regras de cunhagem. Você ainda deve testar em uma testnet e revisar o código antes de implantar na mainnet.

cryptoethereumtokensnft

More from Molixa

Try Molixa Tools

50+ free AI tools for content creation, SEO, coding, and more. No signup, no watermark.

Explore all tools