Comprar cripto
Mercados
Spot
Centro de eventos
Centro de Recompensas
Mais
0-Fee Fest
ERC-1155: O que é ERC-1155?ERC-1155 é um padrão de tokens da Ethereum que permite que um único contrato inteligente gerencie muitos tipos diferentes de tokens.Um único contrato ERC-1155 pode conter tokens fungíERC-1155: O que é ERC-1155?ERC-1155 é um padrão de tokens da Ethereum que permite que um único contrato inteligente gerencie muitos tipos diferentes de tokens.Um único contrato ERC-1155 pode conter tokens fungí

ERC-1155

2026/10/13 16:21
#Intermediate
Humanity
H$0.05624-2.91%
o1.exchange
O$0.4096-1.08%
PX
PX$0.0114+4.58%
UMA
UMA$0.3746-0.08%
TokenFi
TOKEN$0.001839-0.48%

O que é ERC-1155?

ERC-1155 é um padrão de tokens da Ethereum que permite que um único contrato inteligente gerencie muitos tipos diferentes de tokens.

Um único contrato ERC-1155 pode conter tokens fungíveis, tokens não fungíveis, tokens semifungíveis ou uma combinação desses ativos.

A especificação ERC-1155 oficial define regras comuns para saldos, transferências, operações em lote, aprovações, callbacks de destinatários, eventos, metadados e detecção de interfaces.

O ERC-1155 é comumente chamado de Multi-Token Standard.

Cada tipo de token é identificado por um token ID e pode ter sua própria oferta, metadados, finalidade, escassez e características econômicas.

Esse design reduz a necessidade de implantar um contrato inteligente separado para cada ativo de um grande aplicativo cripto.

O ERC-1155 é especialmente útil para jogos em blockchain, colecionáveis digitais, associações, ingressos para eventos, sistemas de recompensas, inventários tokenizados e aplicativos que gerenciam vários ativos relacionados.

Seguir o padrão melhora a interoperabilidade, mas não garante que um token seja autêntico, valioso, escasso ou seguro.

Por que o ERC-1155 foi criado?

Os padrões anteriores de tokens da Ethereum geralmente se concentravam em um único ativo fungível ou em uma coleção de ativos únicos.

Assim, um projeto com centenas de moedas, itens de jogo, ingressos e colecionáveis poderia exigir muitos contratos separados.

Cada contrato adicional gera custos de implantação, código repetido, trabalho administrativo e complexidade de integração.

O ERC-1155 permite que esses tipos de tokens compartilhem um contrato e um sistema comum de transferências.

O padrão também oferece suporte a operações em lote que podem consultar ou transferir vários token IDs em uma única chamada.

O processamento em lote pode reduzir custos recorrentes de transação e simplificar interações com muitos ativos.

O padrão foi projetado para grandes sistemas de tokens, mas não se limita a jogos em blockchain.

Como o ERC-1155 funciona

Um contrato ERC-1155 registra um saldo separado para cada combinação de endereço de conta e token ID.

Por exemplo, uma carteira pode ter 500 unidades do token ID 1, três unidades do token ID 2 e uma unidade do token ID 3.

O token ID 1 pode representar uma moeda fungível, o token ID 2 pode representar um item de edição limitada e o token ID 3 pode representar um NFT único.

Os três saldos podem existir no mesmo contrato inteligente.

Quando os tokens são transferidos, o contrato reduz o saldo do remetente e aumenta o saldo do destinatário para os token IDs selecionados.

O contrato emite eventos padronizados para que carteiras e indexadores de blockchain possam observar as alterações.

Quando o destinatário é um contrato inteligente, o ERC-1155 executa um callback de destinatário para confirmar que o contrato aceita os tokens.

O que é um token ID ERC-1155?

Um token ID é um número inteiro sem sinal que identifica um tipo de token dentro de um contrato ERC-1155.

O mesmo token ID pode aparecer em outro contrato sem representar o mesmo ativo cripto.

Portanto, um ativo ERC-1155 é identificado em conjunto pela rede blockchain, pelo endereço do contrato e pelo token ID.

O token ID 100 em um contrato pode representar um recurso de jogo, enquanto o token ID 100 em outro pode representar um ingresso para um evento.

O padrão não exige que os token IDs comecem em zero ou sigam uma ordem simples crescente.

Os desenvolvedores podem atribuir IDs conforme o design do aplicativo.

Os usuários devem verificar o endereço completo do contrato e o token ID, em vez de confiar apenas no nome ou na imagem exibidos.

Tokens ERC-1155 fungíveis

Um token ID pode funcionar como ativo fungível quando existem muitas unidades intercambiáveis desse ID.

Por exemplo, um jogo poderia emitir um milhão de unidades do token ID 10 como moeda do jogo.

Cada detentor teria um saldo quantitativo associado ao token ID 10.

As unidades do mesmo ID normalmente têm as mesmas propriedades definidas pelo contrato.

A interface principal ERC-1155 não define um símbolo, valor decimal ou nome separado para cada token ID.

Quando necessárias, essas informações de exibição devem ser fornecidas pelos projetos por meio de metadados ou funções personalizadas.

Tokens ERC-1155 não fungíveis

Um token ID pode funcionar como NFT quando sua oferta é limitada a uma unidade.

O endereço que detém essa unidade é, na prática, proprietário do ativo único representado pelo ID.

Outro ID no mesmo contrato pode representar um item único diferente.

Ao contrário do ERC-721, o ERC-1155 não exige automaticamente que a oferta de cada token ID seja de uma unidade.

A lógica de emissão do contrato deve garantir a exclusividade quando um token ID é descrito como não fungível.

Os usuários devem verificar os controles reais de oferta antes de confiar em uma alegação de que um item ERC-1155 é único.

Tokens ERC-1155 semifungíveis

Um token semifungível tem várias unidades intercambiáveis durante uma parte de seu ciclo de vida, mas pode depois adquirir significado ou utilidade diferentes.

Ingressos para eventos são um exemplo comum: vários ingressos para a mesma seção podem ser intercambiáveis antes do evento.

Após o evento, cada ingresso usado pode se tornar um colecionável vinculado a uma experiência específica.

Itens de jogos de edição limitada também podem usar um modelo semifungível.

O ERC-1155 não identifica formalmente um token ID como fungível, não fungível ou semifungível.

A classificação depende da oferta, dos metadados, das regras de transferência e do comportamento do aplicativo.

Funções principais do ERC-1155

A interface principal ERC-1155 contém funções para verificar saldos, transferir tokens e gerenciar permissões de operadores.

Suas principais funções são

balanceOf
,
balanceOfBatch
,
safeTransferFrom
,
safeBatchTransferFrom
,
setApprovalForAll
e
isApprovedForAll
.

O ERC-1155 também exige suporte à detecção de interfaces ERC-165.

A interface principal não define emissão pública, queima pública, royalties, oferta total, casas decimais dos tokens ou aprovações individuais de tokens.

Os contratos podem adicionar esses recursos por meio de extensões opcionais ou lógica personalizada.

A função balanceOf

A função

balanceOf
retorna a quantidade de um token ID pertencente a uma conta.

Ela exige um endereço de conta e um token ID.

Isso difere do ERC-20, pois um contrato ERC-20 normalmente representa apenas um tipo de token.

Também difere do ERC-721, pois o saldo ERC-721 conta quantos NFTs únicos de uma coleção pertencem a um endereço.

O saldo de um token ID ERC-1155 pode ser zero, um ou um número inteiro maior.

O padrão exige que uma consulta de saldo para o endereço zero falhe.

A função balanceOfBatch

A função

balanceOfBatch
consulta vários saldos em uma chamada.

O chamador fornece um array de endereços de contas e um array de token IDs.

Cada conta é associada ao token ID que ocupa a mesma posição no array.

Os dois arrays devem ter o mesmo tamanho.

A função pode consultar vários token IDs de uma conta ou um token ID de várias contas.

Isso reduz o número de chamadas separadas à blockchain necessárias para carteiras, jogos e aplicativos de portfólio.

A função safeTransferFrom

A função

safeTransferFrom
transfere uma quantidade de um token ID de um endereço para outro.

O chamador deve ser o detentor do token ou um operador aprovado por esse detentor.

O remetente deve possuir unidades suficientes do ID selecionado.

O destinatário não pode ser o endereço zero.

A função também aceita um campo bytes que pode conter dados específicos do aplicativo.

Uma transferência individual bem-sucedida emite um evento

TransferSingle
.

Se o destinatário for um contrato inteligente, deverá passar pela verificação de aceitação ERC-1155 exigida.

A função safeBatchTransferFrom

A função

safeBatchTransferFrom
transfere vários token IDs e quantidades em uma única transação.

O chamador fornece um array de token IDs e um array correspondente de quantidades a transferir.

Cada quantidade se aplica ao ID que ocupa a mesma posição no array.

Os arrays devem ter o mesmo tamanho.

O remetente deve ter unidades suficientes de cada token incluído no lote.

Se uma das transferências exigidas falhar, normalmente a transação inteira é revertida.

Uma operação bem-sucedida emite um evento

TransferBatch
.

Benefícios das transferências em lote

As transferências em lote podem reduzir os custos de transação quando vários ativos relacionados precisam ser movimentados juntos.

Um jogador poderia transferir moeda, materiais, equipamentos e colecionáveis em uma única transação.

Um contrato de recompensas poderia distribuir vários tipos de tokens a um destinatário em uma operação.

O processamento em lote também pode simplificar trocas atômicas, pois o grupo completo de ativos é movimentado ou a transação falha.

A quantidade de gas economizada depende do número de IDs, das alterações de armazenamento, da lógica do destinatário e das condições da rede.

Lotes muito grandes ainda podem ultrapassar os limites de gas da transação ou gerar riscos de negação de serviço.

Os aplicativos devem estabelecer limites práticos para o tamanho de lotes controlados pelo usuário.

Aprovações de operadores ERC-1155

O ERC-1155 utiliza aprovações de operadores para toda a coleção.

A função

setApprovalForAll
permite que um detentor de tokens autorize ou revogue um operador.

Um operador aprovado pode transferir todos os token IDs ERC-1155 pertencentes ao detentor dentro daquele contrato.

A permissão também pode abranger tokens que o detentor receber posteriormente do mesmo contrato.

O padrão principal não permite que o usuário aprove apenas um ID ou uma quantidade limitada.

Essa permissão ampla pode facilitar o uso, mas cria um risco significativo de segurança.

Um operador malicioso pode retirar todos os tokens afetados enquanto a aprovação estiver ativa.

A função isApprovedForAll

A função

isApprovedForAll
informa se um operador tem autoridade sobre os saldos ERC-1155 de um proprietário.

Ela retorna

true
ou
false
.

A aprovação se aplica somente ao contrato em que foi concedida.

Ela não abrange automaticamente ativos de outro contrato ERC-1155 ou tokens que usam outro padrão.

Os usuários devem revisar regularmente as aprovações de operadores e revogar permissões que não forem mais necessárias.

Desconectar uma carteira de um site não remove uma aprovação armazenada na blockchain.

Extensões de aprovação granular

O modelo amplo de operadores pode não ser adequado quando um detentor deseja autorizar apenas um token ID ou uma quantidade limitada.

A proposta de extensão de autorização ERC-5216 define aprovações mais granulares por token ID e quantidade.

Essa extensão não faz parte do padrão principal ERC-1155 e não deve ser presumida em todos os contratos.

As carteiras devem explicar claramente se uma transação concede autoridade para toda a coleção ou uma permissão limitada.

Callbacks de destinatário ERC-1155

Um contrato inteligente que recebe tokens ERC-1155 por meio de uma transferência segura padrão deve implementar o callback de destinatário correto.

O callback de transferência individual é

onERC1155Received
.

O callback de transferência em lote é

onERC1155BatchReceived
.

O destinatário pode inspecionar o operador, o detentor anterior, os token IDs, as quantidades e os dados anexados.

Ele aceita os tokens retornando o valor exigido.

Se retornar um valor incorreto ou reverter a transação, toda a transferência de tokens será revertida.

Esse design reduz transferências acidentais para contratos inteligentes incapazes de processar ativos ERC-1155.

IDs de interface e valores de retorno do destinatário

O ID da interface de destinatário ERC-1155 é

0x4e2312e0
.

O valor de retorno esperado de

onERC1155Received
é
0xf23a6e61
.

O valor de retorno esperado de

onERC1155BatchReceived
é
0xbc197c81
.

Um contrato destinatário deve verificar qual contrato ERC-1155 acionou o callback.

Aceitar dados de callback sem verificar o chamador pode permitir que um contrato malicioso crie registros falsos de depósito.

Passar pela verificação de destinatário não garante que o contrato destinatário tenha um processo seguro de saque futuro.

Callbacks de destinatário e reentrância

Os callbacks de destinatário ERC-1155 executam código de contratos externos antes que a transação original seja concluída.

Um destinatário malicioso pode chamar outra função durante a transferência original.

Esse comportamento cria uma possível via de reentrância.

A especificação ERC-1155 exige que as alterações de saldo e os eventos de transferência ocorram antes do callback de destinatário.

Os aplicativos que interagem com o token ainda precisam proteger sua própria lógica de contabilização e autorização.

Os desenvolvedores devem testar ambos os callbacks usando contratos destinatários hostis que tentem reentrância na mesma função e entre funções diferentes.

A atual documentação da implementação ERC-1155 também alerta que transferências para contratos podem criar riscos de reentrância.

Eventos ERC-1155

O padrão principal define os eventos

TransferSingle
,
TransferBatch
,
ApprovalForAll
e
URI
.

Esses registros de eventos permitem que carteiras, exploradores de blockchain e indexadores acompanhem a atividade dos tokens.

O ERC-1155 foi projetado para que o histórico de oferta e saldos possa ser reconstruído a partir dos eventos de transferência emitidos corretamente.

Todo evento deve ser interpretado em conjunto com o endereço do contrato que o emitiu.

Um contrato malicioso pode emitir eventos com nomes conhecidos sem representar um projeto autêntico.

O evento TransferSingle

O evento

TransferSingle
registra o operador, o remetente, o destinatário, o token ID e a quantidade.

Uma transferência normal contém endereços diferentes de zero para remetente e destinatário.

Na emissão, o endereço zero é usado como remetente.

Na queima, o endereço zero é usado como destinatário.

O padrão também exige que transferências de valor zero emitam o evento adequado.

O evento TransferBatch

O evento

TransferBatch
registra vários token IDs e quantidades transferidos em uma operação.

Os IDs e os valores são armazenados em posições correspondentes nos arrays.

O evento também identifica o operador, o remetente e o destinatário.

Na emissão em lote, o endereço zero é usado como remetente.

Na queima em lote, o endereço zero é usado como destinatário.

Os indexadores devem processar cada elemento dos arrays do evento para calcular corretamente os saldos e as ofertas.

O evento ApprovalForAll

O evento

ApprovalForAll
registra se um proprietário habilitou ou desabilitou um operador.

Ele contém o proprietário, o operador e o status da aprovação.

O evento não transfere tokens por si só.

Ele altera a possibilidade de o operador iniciar transferências futuras a partir do proprietário.

Revogar uma aprovação não reverte as transferências concluídas enquanto a autorização estava ativa.

Detecção de interfaces ERC-165

O ERC-1155 exige a detecção de interfaces ERC-165.

O ID da interface principal ERC-1155 é

0xd9b67a26
.

Um contrato compatível deve retornar

true
quando
supportsInterface
for chamada com esse identificador.

O padrão ERC-165 fornece aos contratos um método comum para publicar as interfaces compatíveis.

A detecção de interfaces ajuda os aplicativos a evitar chamadas a funções não compatíveis.

Uma resposta positiva não prova, por si só, que todas as funções foram implementadas de forma correta ou segura.

Metadados ERC-1155

O ERC-1155 inclui uma extensão opcional de URI de metadados.

A extensão adiciona uma função

uri
que retorna a localização dos metadados de um token ID.

O ID da interface é

0x0e89341c
.

A URI normalmente aponta para um documento JSON com nome, descrição, imagem, atributos e outras informações do token.

O padrão principal não exige funções on-chain separadas de

name
,
symbol
ou
decimals
para cada token ID.

Os projetos podem adicionar esses campos por meio de metadados ou interfaces personalizadas.

O marcador de metadados {id}

Uma URI de metadados ERC-1155 pode conter o marcador

{id}
.

Os aplicativos substituem esse marcador pelo token ID solicitado em formato hexadecimal com letras minúsculas.

O valor formatado deve conter 64 caracteres hexadecimais, incluindo zeros à esquerda.

Ele não deve incluir o prefixo

0x
.

Esse método permite que uma única URI base descreva locais de metadados para muitos token IDs.

Um aplicativo que faça a substituição incorretamente pode obter metadados do ativo errado.

Riscos de armazenamento de metadados

Os metadados ERC-1155 podem ser armazenados em um servidor web, em uma rede endereçada por conteúdo ou diretamente on-chain.

Os metadados hospedados em servidores podem ser alterados ou desaparecer.

O armazenamento endereçado por conteúdo pode melhorar a integridade, mas o conteúdo precisa continuar disponível.

Os metadados on-chain reduzem a dependência de hospedagem externa, mas podem custar mais para armazenar e atualizar.

Uma URI mutável pode permitir que um administrador altere nomes, imagens, descrições e atributos depois que os usuários adquirirem tokens.

Os usuários devem verificar quem controla os metadados e se alguma garantia de permanência pode ser comprovada.

Emissão de tokens ERC-1155

A emissão cria novas unidades de um token ID ERC-1155.

O padrão principal não define uma função pública de emissão nem determina quem pode criar tokens.

Uma implementação pode restringir a emissão a um administrador, contrato inteligente, processo de governança ou outra função autorizada.

Uma emissão individual gera

TransferSingle
a partir do endereço zero.

Uma emissão em lote gera

TransferBatch
a partir do endereço zero.

A emissão para um contrato inteligente normalmente aciona o callback de destinatário adequado.

Os usuários devem verificar a autoridade de emissão antes de confiar em alegações sobre oferta ou escassez.

Queima de tokens ERC-1155

A queima remove unidades de tokens de circulação, de acordo com as regras do contrato.

O padrão principal não exige uma função pública de queima.

Um contrato pode permitir que detentores, operadores aprovados, administradores ou a lógica do protocolo queimem tokens.

Uma queima emite um evento de transferência com o endereço zero como destinatário.

Queimar todas as unidades atuais de um ID não impede necessariamente que esse ID seja emitido novamente.

O resultado depende dos controles de emissão e oferta da implementação.

Oferta total e enumeração

A interface principal ERC-1155 não inclui uma função

totalSupply
.

A oferta pode ser reconstruída a partir dos eventos de emissão e queima quando o contrato segue corretamente os requisitos de emissão de eventos.

Uma implementação pode adicionar uma extensão opcional de acompanhamento de oferta que informa a oferta total de cada ID.

A atual biblioteca de contratos ERC-1155 inclui extensões para acompanhar a oferta, queimar, pausar e armazenar URIs.

O ERC-1155 também não define uma função principal que liste todos os token IDs ou detentores existentes.

Os aplicativos normalmente usam indexação de eventos off-chain para criar essas listas.

Royalties ERC-1155

Royalties para criadores não fazem parte do padrão principal ERC-1155.

O padrão opcional de royalties ERC-2981 permite que um contrato informe um destinatário e um valor sugerido de royalties.

O valor dos royalties é calculado com base em um preço de venda fornecido.

O ERC-2981 comunica informações sobre royalties, mas não impõe automaticamente o pagamento em toda transferência.

Uma transferência pode ocorrer sem uma venda; por isso, o contrato do token não pode tratar toda movimentação como um evento sujeito a royalties.

Os usuários devem verificar se um administrador pode alterar as configurações de royalties.

Erros padronizados ERC-1155

A especificação ERC-1155 original não define erros personalizados modernos do Solidity.

O padrão Final de erros ERC-6093 define nomes de erros comuns para contratos ERC-1155.

Esses erros abrangem saldos insuficientes, remetentes inválidos, destinatários inválidos, ausência de aprovação do operador, operadores inválidos e tamanhos incompatíveis de arrays.

Erros padronizados podem ajudar carteiras e desenvolvedores a explicar transações malsucedidas com mais consistência.

Os contratos ERC-1155 existentes não são obrigados a adotar esses erros.

ERC-1155 vs. ERC-20

Normalmente, o ERC-20 representa um tipo de token fungível por contrato.

O ERC-1155 pode representar vários tipos de tokens em um único contrato.

O ERC-20 usa permissões numéricas para gastos por terceiros, enquanto o ERC-1155 principal usa aprovação de operador para toda a coleção.

O ERC-1155 inclui transferências em lote e callbacks obrigatórios de destinatário para contratos inteligentes.

O padrão principal ERC-20 não inclui esses recursos.

O ERC-20 pode continuar sendo mais simples quando um projeto precisa de apenas um ativo cripto fungível.

ERC-1155 vs. ERC-721

O ERC-721 foi projetado para token IDs não fungíveis com proprietários individuais.

Um token ID ERC-721 válido tem um proprietário.

O ERC-1155 armazena um saldo quantitativo para cada combinação de conta e token ID.

Isso permite que um ID tenha muitas unidades intercambiáveis enquanto outro ID no mesmo contrato tenha oferta de uma unidade.

O ERC-1155 também oferece suporte a transferências em lote padronizadas, enquanto o ERC-721 normalmente transfere um NFT por vez.

O ERC-721 pode oferecer um modelo mais simples quando cada ativo é único.

Casos de uso comuns do ERC-1155

Jogos em blockchain podem gerenciar moedas, materiais, armas, personagens e terrenos por meio de um único contrato ERC-1155.

Sistemas de eventos podem emitir diferentes categorias e quantidades de ingressos sob token IDs separados.

Projetos de associação podem criar vários níveis de acesso ou pacotes de benefícios.

Artistas digitais podem emitir edições limitadas com várias cópias intercambiáveis de cada obra.

Aplicativos financeiros podem usar token IDs para identificar datas de vencimento, direitos, categorias de posições ou grupos de risco.

Sistemas de recompensas podem distribuir vários tipos de pontos ou itens de conquistas por meio de uma única transação em lote.

O padrão não verifica, por si só, se um token representa um direito juridicamente exigível ou um ativo do mundo real.

Riscos de aprovação ERC-1155

O phishing de aprovação de operador é um risco importante para detentores de ERC-1155.

Um site malicioso pode solicitar

setApprovalForAll
e descrever a transação como verificação, conexão da conta ou acesso a recompensas.

Após a aprovação, o operador pode transferir todos os tokens ERC-1155 que o usuário possui naquele contrato.

A autorização pode continuar ativa até que o proprietário a revogue.

Os usuários devem verificar a rede, o contrato do token, o endereço do operador e o tipo de permissão antes de assinar.

Uma frase de recuperação ou chave privada da carteira nunca é necessária para cancelar uma aprovação de operador.

Riscos de operações em lote

As operações em lote usam arrays cujas posições devem permanecer corretamente alinhadas.

Uma incompatibilidade entre token IDs e quantidades deve fazer a transação falhar.

Uma indexação incorreta pode transferir a quantidade errada de um ativo.

Arrays muito grandes controlados pelo usuário podem consumir gas excessivo ou tornar uma função inutilizável.

Um contrato destinatário deve validar cada ID e quantidade antes de aceitar um lote.

Os desenvolvedores devem testar arrays vazios, IDs repetidos, tamanhos incompatíveis, lotes grandes e IDs de ativos não compatíveis.

Riscos de oferta e autenticidade

Um token ID pode parecer único porque só existe uma unidade no momento.

Uma conta autorizada ainda pode conseguir emitir unidades adicionais posteriormente.

Outro contrato pode copiar o mesmo nome, ID, imagem ou metadados do token.

O endereço do contrato e a rede são partes essenciais da identidade de um token ERC-1155.

Os usuários devem examinar as funções de emissão, os limites de oferta, as permissões de atualização e os controles de metadados.

A compatibilidade com o ERC-1155 não comprova autenticidade, escassez, lastro em garantias ou valor de investimento.

Riscos de contratos atualizáveis

Um contrato ERC-1155 pode operar por meio de um proxy atualizável.

Um administrador autorizado pode conseguir alterar a emissão, as transferências, as aprovações, os metadados, as taxas ou outros comportamentos.

Atualizações podem corrigir vulnerabilidades, mas também introduzir lógica prejudicial.

Uma chave de atualização comprometida pode colocar em risco todos os token IDs gerenciados pelo contrato.

Os usuários devem revisar a autoridade de atualização, os atrasos temporais, os controles de assinatura múltipla e as permissões de emergência.

O suporte à interface correta não prova que um contrato seja descentralizado ou imutável.

Como os desenvolvedores devem implementar o ERC-1155

Os desenvolvedores devem começar com uma implementação mantida e revisada, a menos que uma lógica de saldo personalizada seja necessária.

O atual guia de desenvolvimento ERC-1155 explica saldos multi-token, operações em lote, verificações de destinatário e extensões comuns.

As funções de emissão e administração devem usar controles de acesso claros.

As restrições de oferta devem ser aplicadas no código do contrato, e não apenas descritas na documentação do projeto.

As implementações devem emitir todos os eventos de transferência e aprovação exigidos.

Os testes devem cobrir transferências individuais e em lote, emissões, queimas, permissões de operadores, destinatários inválidos, incompatibilidades de arrays e callbacks maliciosos.

Os desenvolvedores também devem verificar os identificadores ERC-165 corretos de cada extensão compatível.

Como os usuários podem avaliar um token ERC-1155

O primeiro passo é verificar a rede blockchain, o endereço do contrato e o token ID.

O segundo é identificar se o token deve ser fungível, não fungível ou semifungível.

O terceiro é analisar a oferta atual, a autoridade de emissão e qualquer limite de oferta.

O quarto é revisar as aprovações de operadores ativas associadas à carteira.

O quinto é determinar como os metadados são armazenados e se podem ser alterados.

O sexto é identificar os poderes de administrador, pausa, congelamento, royalties e atualização.

O sétimo é examinar o código-fonte, as auditorias e o histórico de incidentes sem tratá-los como garantias.

O oitavo é entender qual utilidade, direito de resgate ou reivindicação legal o token realmente oferece.

O nono é verificar se os contratos destinatários oferecem um processo confiável de saque.

O décimo é testar um contrato desconhecido com uma pequena quantidade antes de transferir ativos valiosos.

Exemplo de transferência em lote ERC-1155

Suponha que Alice tenha 100 unidades do token ID 1, cinco unidades do token ID 2 e uma unidade do token ID 3.

Ela quer enviar a Bob dez unidades do ID 1, duas unidades do ID 2 e uma unidade do ID 3.

A carteira dela chama

safeBatchTransferFrom
com arrays contendo os três IDs e as quantidades correspondentes.

O contrato verifica os saldos de Alice e confirma que o chamador está autorizado.

Ele reduz os saldos de Alice e aumenta os saldos de Bob para cada ID.

O contrato emite um evento

TransferBatch
que descreve a movimentação.

Se Bob for um contrato inteligente, o contrato do token chama

onERC1155BatchReceived
.

Se o destinatário retornar o valor correto, a transação será concluída.

Se qualquer verificação de saldo, autorização, array ou destinatário falhar, toda a transação será revertida.

Erros comuns no ERC-1155

Um erro comum é presumir que todo token ID ERC-1155 representa um NFT.

Outro é presumir que um ID com uma unidade atual tem uma oferta máxima permanentemente limitada a uma.

Um terceiro erro é conceder aprovação de operador sem entender que ela abrange todos os token IDs do contrato.

Um quarto é acreditar que desconectar uma carteira remove a aprovação on-chain.

Um quinto é usar a disponibilidade de metadados como prova de que um token foi emitido.

Um sexto é presumir que todo contrato oferece uma função de oferta total.

Um sétimo é processar arrays em lote sem verificar o tamanho e as posições dos elementos.

Um oitavo é ignorar callbacks de destinatário e os riscos de reentrância.

Um nono é presumir que os royalties informados são automaticamente obrigatórios.

Um décimo é tratar a conformidade com a interface como prova de autenticidade, escassez ou segurança.

Perguntas frequentes

O que significa ERC-1155?

ERC-1155 é o Multi-Token Standard da Ethereum para gerenciar muitos tipos de tokens fungíveis, não fungíveis e semifungíveis em um único contrato.

ERC-1155 é uma criptomoeda?

ERC-1155 é um padrão técnico, enquanto os contratos que o implementam podem criar diferentes tipos de ativos cripto.

Qual é o ID da interface ERC-1155?

O ID da interface principal ERC-1155 é

0xd9b67a26
.

Qual é o ID da interface de destinatário ERC-1155?

O ID da interface de destinatário é

0x4e2312e0
.

O ERC-1155 pode criar tokens fungíveis?

Sim. Um token ID pode representar muitas unidades intercambiáveis distribuídas entre várias contas.

O ERC-1155 pode criar NFTs?

Sim. Um token ID pode funcionar como NFT quando o contrato limita sua oferta a uma unidade.

O que é um token semifungível?

É um token cujas unidades são intercambiáveis em determinado contexto, mas depois adquirem significado, status ou utilidade diferentes.

Um contrato ERC-1155 pode conter muitos ativos?

Sim. Um contrato pode gerenciar muitos token IDs com diferentes ofertas, metadados e finalidades.

O que balanceOf retorna?

Retorna a quantidade de um token ID específico pertencente a uma conta.

O que balanceOfBatch faz?

Retorna, em uma chamada, os saldos de vários pares de contas e token IDs.

O que é safeBatchTransferFrom?

Transfere vários token IDs e quantidades em uma única transação e verifica o destinatário quando ele é um contrato inteligente.

O que setApprovalForAll faz?

Autoriza um operador a gerenciar todos os token IDs pertencentes ao chamador em um contrato ERC-1155.

Os usuários podem aprovar apenas um token ID?

Não pela função de aprovação principal ERC-1155, embora extensões opcionais possam oferecer permissões mais limitadas.

Uma aprovação ERC-1155 expira automaticamente?

Não. Uma aprovação padrão de operador permanece ativa até que o proprietário a revogue ou uma lógica personalizada altere seu efeito.

O ERC-1155 exige verificações de destinatário?

Sim. As transferências seguras padrão para contratos inteligentes devem seguir as regras adequadas de callback de destinatário individual ou em lote.

Um contrato destinatário pode rejeitar tokens ERC-1155?

Sim. Ele pode reverter a transação ou retornar um valor de aceitação incorreto, fazendo a transferência falhar.

O ERC-1155 oferece suporte a metadados?

Sim. Ele inclui uma extensão opcional de URI de metadados com o ID de interface

0x0e89341c
.

Todo token ERC-1155 tem nome e símbolo?

Não. O padrão principal não exige funções on-chain separadas de nome ou símbolo para cada token ID.

O ERC-1155 define casas decimais?

Não. Quando necessário, as informações de denominação devem vir dos metadados ou da lógica específica do projeto.

O ERC-1155 inclui totalSupply?

Não. A oferta total exige a indexação de eventos ou uma extensão opcional de acompanhamento de oferta.

Os metadados ERC-1155 podem mudar?

Sim. Os metadados podem mudar quando o contrato ou o sistema de armazenamento externo permite atualizações.

O ERC-1155 impõe royalties?

Não. As informações de royalties exigem um padrão separado e não são impostas automaticamente pelas funções de transferência principais.

Transferências em lote ERC-1155 podem economizar gas?

Sim. Combinar várias movimentações de tokens em uma única transação pode reduzir os custos recorrentes de transação.

Callbacks ERC-1155 podem causar reentrância?

Sim. Os callbacks de destinatário executam código externo e podem chamar outras funções do contrato antes que a transação original seja concluída.

A conformidade com o ERC-1155 torna um token seguro?

Não. Um contrato compatível ainda pode conter código inseguro, permissões excessivas, metadados mutáveis, controles de oferta fracos ou alegações fraudulentas.

Conclusão

ERC-1155 é o padrão da Ethereum para gerenciar muitos tipos de tokens por meio de um único contrato inteligente.

Cada token ID pode representar um ativo fungível, um NFT único, um item semifungível ou outro ativo cripto baseado em quantidade.

O padrão define consultas de saldo, transferências individuais e em lote, aprovações de operador para toda a coleção, callbacks de destinatário, eventos, regras de metadados e detecção de interfaces.

As operações em lote podem reduzir os custos de transação quando vários ativos precisam ser consultados ou transferidos juntos.

Os callbacks obrigatórios de destinatário reduzem transferências acidentais para contratos incompatíveis, mas introduzem riscos de chamadas externas e reentrância.

O padrão principal não define emissão pública, queima, oferta total, casas decimais, royalties, metadados permanentes ou permissões individuais para tokens.

Essas propriedades dependem de extensões opcionais e da implementação específica do contrato.

Os usuários devem verificar a rede, o endereço do contrato, o token ID, os controles de oferta, as aprovações de operadores, o sistema de metadados e as permissões de administrador.

Os desenvolvedores devem usar implementações mantidas, emitir todos os eventos exigidos, proteger callbacks de destinatário, limitar a complexidade dos lotes e testar todos os caminhos de autorização.

O ERC-1155 oferece uma infraestrutura multi-token flexível, mas a compatibilidade técnica não garante autenticidade, escassez, valor financeiro ou segurança do contrato inteligente.

Você também pode gostar

BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?