Ethereum · Smart contracts · 2022
Yakuza Inc.
Desenvolvi e lancei o contrato, a lista de permissões, os controlos de venda, os metadados e o processo de pagamento por detrás de uma emissão de 3,223 tokens na Ethereum, esgotada por um valor de sete algarismos.
O desafio
Mantenha o fluxo de mint pago suficientemente simples para suportar picos de procura sem comprometer as garantias da lista de permissões, da oferta ou dos pagamentos.
Uma cunhagem na Ethereum com elevada procura concentra meses de trabalho em poucos minutos irreversíveis. Um único opcode dispendioso, uma prova com falhas, um sinalizador de venda ou um cálculo de reserva incorreto pode desperdiçar o gas dos compradores e travar o lançamento. Concebi o contrato e o lançamento em conjunto: manter curto o percurso pago, dar à equipa controlos claros e expor o estado público à medida que a procura surgia.
Como funcionou
Fluxo mínimo de mint público
A função pública efetuava as verificações essenciais de preço e oferta antes de cunhar um único token. Manter o caminho crítico restrito reduziu o processamento de bytecode e tornou o comportamento do gas mais previsível sob carga.
Verificação isolada da lista de permissões
A verificação de provas de Merkle e o acompanhamento de mint por endereço faziam parte do fluxo de pré-venda, para que os compradores públicos não continuassem a pagar pela lógica da lista de permissões após o início da venda aberta.
Controlos de lançamento explícitos
Controlos separados para a pré-venda e a venda pública, metadados controlados pelo proprietário, suporte para airdrops e pagamentos por PaymentSplitter tornaram o lançamento operacional sem alterar o contrato implementado.
Compilação atenta aos custos de gas
A compilação verificada em Solidity 0.8.7 utilizou o otimizador com 1,000 execuções. Até o limite da oferta foi escolhido tendo em conta o custo de gas para quem cunhava e ficou documentado no contrato.
O meu papel
-
01
Assumi de ponta a ponta a responsabilidade pelo contrato ERC-721 e pelo pipeline de lançamento, incluindo implementação, lista de permissões, venda pública, metadados, airdrops e mecanismos de pagamento.
-
02
Reduziu o trabalho no percurso pago às verificações de que a venda realmente precisava, mantendo a verificação Merkle no fluxo da lista de acesso.
-
03
Criei e testei a sequência operacional para passar da pré-venda à venda pública sem voltar a implementar o contrato nem improvisar o seu estado.
-
04
Acompanhou o lançamento em direto até esgotar, verificando o contrato e o fluxo de mint face ao estado on-chain à medida que os últimos blocos eram preenchidos.
O que mudou
Uma cunhagem de 3,223 tokens, com receitas de sete dígitos, que esgotou em menos de duas horas; as últimas 596 cunhagens públicas foram concluídas em 56 segundos.
O resultado foi um lançamento de sete dígitos sem contratempos, sem reescritas de emergência nem contratos de substituição. Os 3,223 tokens foram vendidos em menos de duas horas, gerando 321.4 ETH em receitas primárias. Quando a venda pública abriu, as 596 cunhagens finais foram processadas em dois blocos Ethereum, em 56 segundos; mais tarde, a coleção ultrapassou 1,000 ETH em volume de negociação nos marketplaces.
- O contrato concluiu a venda total de 3,223 tokens e libertou 321.4 ETH em receitas da venda primária.
- Os últimos 596 mints públicos foram concluídos em apenas 56 segundos, nos dois blocos Ethereum finais.
- A coleção ultrapassou mais tarde 1,000 ETH em volume transacionado em marketplaces, mantendo o contrato verificado e o registo de lançamento disponíveis para consulta pública.
Ferramentas e tecnologias
Fontes