ERC-721A: Como a Azuki otimizou a cunhagem em lote e a eficiência de gás

Principais Resultados
• O ERC-721A permite cunhagens em lote quase tão baratas quanto a cunhagem de um único token.
• A estrutura de dados compactada reduz as operações de armazenamento, economizando gás.
• A implementação mantém a compatibilidade com carteiras e mercados existentes.
• A eficiência de gás continua relevante mesmo com as atualizações da Ethereum em 2024.
O boom de NFTs de 2021-2022 expôs uma verdade dolorosa para criadores e colecionadores: cunhar muitos tokens ERC-721 é caro. Cada token cunhado pelo padrão original requer escritas repetitivas no armazenamento e eventos por token, elevando os custos de gás durante lançamentos muito aguardados. A equipe da Azuki, na Chiru Labs, abordou isso diretamente com o ERC-721A, uma implementação "drop-in" projetada para tornar a cunhagem em lote drasticamente mais barata, mantendo a compatibilidade com ERC-721. Veja como funciona, o que muda e como usá-lo com segurança em 2025.
A base: o custo por token do ERC-721
A especificação original de tokens não fungíveis, ERC-721, define as interfaces e eventos para NFTs, mas deixa a economia de gás para as implementações. Uma implementação padrão geralmente:
- Realiza uma escrita no armazenamento para a propriedade de cada token.
- Emite um evento
Transferpara cada token cunhado. - Atualiza os saldos individualmente.
Como as escritas no armazenamento (SSTORE) estão entre as operações mais caras da EVM, a cunhagem em lote de dezenas ou centenas de tokens multiplica as taxas. Você pode verificar o custo relativo das operações da EVM e das escritas no armazenamento na referência de opcodes em evm.codes, que deixa claro por que as cunhagens ingênuas de ERC-721 são caras referência. Para a especificação em si, veja o padrão canônico ERC-721.
ERC-721A em poucas palavras
O ERC-721A da Chiru Labs é uma implementação de contrato que mantém a interface ERC-721, mas redesenha o layout dos dados e a lógica de cunhagem para tornar as cunhagens em lote quase tão baratas quanto a cunhagem de um único token. O código e a documentação oficiais estão no repositório da Chiru Labs ERC721A no GitHub.
Ideias chave:
- IDs de token sequenciais: os tokens são cunhados com IDs consecutivos. Essa estrutura permite inferir a propriedade de um intervalo de tokens sem armazenar a propriedade de cada um.
- Dados de propriedade compactados: em vez de vários mapeamentos, o ERC-721A compacta campos (endereço do proprietário, timestamps, flags de queima, dados extras) em um slot de armazenamento conciso. Isso reduz as operações
SSTOREe melhora a localidade do cache; veja as notas de layout de armazenamento do Solidity para um contexto sobre compactação layout de armazenamento do Solidity. - Inicialização preguiçosa: durante uma cunhagem em lote, a implementação escreve a propriedade apenas uma vez no início do intervalo; tokens subsequentes inferem a propriedade até que ela mude, cortando dramaticamente as escritas no armazenamento.
- Eventos que preservam a compatibilidade: o ERC-721A emite um evento
Transferpadrão para cada token em cunhagens regulares para permanecer compatível com o mercado. Para mega-cunhagens no momento da criação do contrato, ele pode usar o eventoConsecutiveTransferdo ERC-2309 para reduzir ainda mais o gás de eventos, conforme permitido pelo padrão ERC-2309.
Na prática, cunhar N tokens em uma única transação com ERC-721A é apenas ligeiramente mais caro do que cunhar um, em vez de N vezes mais caro. Essa é a essência de sua eficiência de gás.
O que permanece o mesmo vs. o que muda
O que permanece o mesmo:
- Ele implementa a mesma interface externa que o ERC-721, então carteiras, mercados e indexadores continuam funcionando.
- Fluxos de cunhagem segura, aprovações e transferências se comportam como esperado sob o padrão referência ERC-721 da OpenZeppelin.
O que muda internamente:
- Consultas de propriedade podem escanear para trás até o slot de propriedade inicializado mais próximo (tempo constante amortizado em uso típico).
- Transferências "nas fronteiras de intervalo" podem inicializar a propriedade do próximo token para manter as inferências corretas.
- A estrutura de dados usa compactação agressiva de bits e, em alguns locais, aritmética não verificada para economizar gás. Desenvolvedores que estendem o ERC-721A devem entender os blocos
uncheckede os invariantes do Solidity para evitar estouros ou subfluxos unchecked no Solidity.
Por que isso ainda importa em 2025
A atualização Dencun do Ethereum em 2024 introduziu o espaço de blob (EIP-4844), que reduziu dramaticamente os custos de disponibilidade de dados em rollups, cortando taxas nas L2s. Como resultado, muitos projetos de NFT agora cunham em L2 e fazem ponte ou liquidam depois. Mesmo assim, quando a demanda aumenta ou quando a cunhagem na mainnet permanece desejável para proveniência, a eficiência de gás importa. O ERC-721A continua relevante porque reduz o componente on-chain, independentemente da cadeia em que você implanta. Para contexto sobre o Dencun e seu impacto, veja a visão geral da Fundação Ethereum Dencun na mainnet.
Como o ERC-721A se compara às alternativas
- ERC-1155: se sua coleção é semifenível (várias cópias por ID) ou você depende de transferências em lote verdadeiras, o ERC-1155 pode ser mais adequado, pois ele suporta nativamente operações em lote com uma interface diferente ERC-1155. Para NFTs clássicos 1/1 com metadados por token e fluxos de mercado estabelecidos, o ERC-721A preserva a superfície do ERC-721 enquanto otimiza o gás.
- Royalties: o ERC-721A pode incorporar sinalização de royalties on-chain via EIP-2981 sem afetar suas otimizações de cunhagem EIP-2981.
- Listas de permissão off-chain e assinaturas: emparelhar o ERC-721A com cunhagens baseadas em voucher assinados por EIP-712 ou provas de Merkle mantém sua venda primária eficiente e flexível EIP-712.
Lista de verificação do desenvolvedor: construindo com segurança com ERC-721A
- Use a versão auditada mais recente da Chiru Labs e leia as notas de segurança do repositório antes de enviar para produção ERC721A no GitHub.
- Mantenha os IDs de token sequenciais para maximizar a economia de gás; evite esquemas de ID personalizados que quebrem a inferência de propriedade consecutiva.
- Se você precisar cunhar na criação do contrato em quantidades muito grandes, considere a opção
ConsecutiveTransferdo ERC-2309 e verifique se sua stack de indexação a entende ERC-2309. - Tenha cuidado ao adicionar armazenamento personalizado à struct de propriedade compactada; desalinhamento ou tipos muito largos podem anular a economia. Revise as regras de compactação de armazenamento do Solidity layout de armazenamento do Solidity.
- Teste condições de limite: transferências e queimas perto das bordas dos intervalos, extensões de enumeração e interações com mercados que dependem da enumeração de tokens.
- Perfis com tamanhos de lote realistas na sua rede de destino. A economia de gás varia entre a mainnet e as L2s pós-Dencun, portanto, compare os fluxos de cunhagem e transferência com seus hooks de metadados habilitados.
Para colecionadores e cunhadores: o que você notará
- Gás de cunhagem primária menor: a cunhagem em lote de vários NFTs em uma transação se torna muito mais barata do que cunhá-los um por um.
- Lançamentos mais rápidos sob carga: menos escritas pesadas no armazenamento significa que as cunhagens têm menos probabilidade de falhar quando o mempool está congestionado.
- Experiência padrão da carteira: como o ERC-721A preserva a interface ERC-721, sua carteira, listagens de mercado e indexadores continuam a reconhecer os tokens corretamente.
Armadilhas e mitos comuns
- "É um novo padrão." Não exatamente. O ERC-721A é uma implementação do ERC-721 com um layout interno redesenhado; ele não altera a interface pública ERC-721.
- "Os eventos são comprimidos, então os indexadores quebram." Cunhagens em lote regulares ainda emitem eventos
Transferpor token. Apenas o caminho opcional ERC-2309 comprime os eventos, e ele se destina a cunhagens no momento da criação do contrato ERC-2309. - "A enumeração vem de graça." Não vem. Enumerar todos os tokens ou todos os tokens por proprietário não é intencionalmente embutido para economizar gás; se você precisar disso, adicione uma extensão consultável e considere a indexação off-chain.
Olhando para o futuro
Com as taxas de L2 reduzidas pelo espaço de blob e infraestrutura de NFT madura, os criadores agora escolhem entre a proveniência na mainnet e a escalabilidade de L2 em uma base de cada lançamento. O ERC-721A continua sendo um padrão pragmático para PFPs de alta demanda, conjuntos de arte generativa com cunhagens em lote em listas de permissão e ativos de jogos que desejam compatibilidade com ERC-721 sem o custo de lote do ERC-721. Se você superar a semântica do ERC-721, considere se o seu caso de uso se encaixa naturalmente no modelo de múltiplos tokens do ERC-1155 ERC-1155.
Gerenciamento seguro de chaves ainda importa
Menos gás não muda a regra mais importante: proteja suas chaves. Cunhagens de ERC-721A geralmente envolvem assinar mensagens EIP-712 ou executar transações de alto valor rapidamente durante um lançamento quente. Uma carteira de hardware que suporta assinatura offline segura, redes multichain e pré-visualizações claras de transações ajuda você a cunhar com confiança. As carteiras de hardware OneKey são de código aberto, integram-se às principais ferramentas Web3 e fornecem fluxos de assinatura EVM e EIP-712 simplificados – úteis quando você está cunhando em lote de forma eficiente, mas ainda deseja minimizar o risco de assinatura.
Recursos rápidos
- Especificação ERC-721 ERC-721
- Implementação e documentação da Chiru Labs ERC721A no GitHub
- Evento
ConsecutiveTransferpara cunhagens na criação do contrato ERC-2309 - OpenZeppelin Contracts (APIs ERC-721 de referência) documentação ERC-721 da OpenZeppelin
- Referência de custo de gás da EVM opcodes e gás da EVM
- Dinâmica de taxas Dencun e L2 em 2024-2025 Ethereum Foundation: Dencun
- Padrão alternativo para tokens semifeníveis/em lote ERC-1155
- Sinalização de royalties EIP-2981
- Assinaturas de dados tipados para listas de permissão EIP-712
O ERC-721A não mudou o que são NFTs – ele mudou a eficiência com que podemos criá-los. Em um mundo onde o espaço de bloco é escasso e a atenção é fugaz, isso é uma atualização significativa.






