WEB3DEV

Cover image for Implante seu Primeiro Contrato ERC721-C em Menos de 5 Minutos!
Panegali
Panegali

Posted on

Implante seu Primeiro Contrato ERC721-C em Menos de 5 Minutos!

A Máquina de Cunhagem FreeNFT facilita a implantação e gestão da sua própria coleção de NFTs com apenas alguns cliques, por meio de uma interface gráfica amigável que o orienta durante todo o processo.

O primeiro passo é acessar https://developers.freenft.com/, onde você verá 2 cartões. Clique em Deploy New Contract (Implantar novo contrato).

Isso o levará ao fluxo de implantação do contrato. Cada etapa possui dicas e informações para ajudá-lo a tomar decisões sobre quais configurações escolher.

Contrato Primitivo

O primeiro é o que chamamos de "Contrato Primitivo" - é a base do contrato que você vai implantar. As opções são:

  • ERC721-C: este é um contrato básico ERC721-C, que estende o padrão ERC721 com capacidades adicionais para permitir mais controle sobre seus tokens. Observe que o contrato básico ERC721-C não suporta a queima de tokens.
  • Adventure ERC721-C: estende ainda mais o padrão ERC721-C, permitindo mecânicas de missão na cadeia para projetos de jogos com necessidades mais complexas, ou para projetos onde são necessárias funcionalidades de queima de tokens.

Para este exemplo, escolhemos o Adventure ERC721-C.

Distribuição

Em seguida, vem o mecanismo de distribuição. Existem 2 opções aqui: Airdrop diretamente aos usuários (o desenvolvedor subsidia as taxas de transação) ou Merkle Claim (os usuários são adicionados a uma lista selecionada pelo desenvolvedor e pagam gás para reivindicar seus tokens). Observe que ao usar o tipo de distribuição airdrop, uma distribuição completa da sua coleção é garantida, enquanto com a distribuição Merkle não há garantia de que cada usuário na lista branca (whitelist) reivindicará seus NFTs.

Para distribuir com sucesso uma coleção Merkle Claim, será necessário gerar uma árvore de Merkle e distribuir provas Merkle aos usuários. Existem muitas bibliotecas de código aberto que podem facilitar isso, e a hospedagem pode ser tão simples quanto fixar no IPFS ou tão complicada quanto fornecer provas Merkle individuais aos usuários por meio de uma API que você hospeda.

A Merkle Clain adiciona mais complexidade ao processo para os usuários finais e para você, mas socializa o custo da distribuição, enquanto o airdrop é mais caro para o desenvolvedor, mas simplifica o processo para todos os envolvidos.

Tipo de Royalty

Até a data deste artigo, existem 4 tipos programáveis de royalties que você pode escolher:

  • Basic: 100% dos royalties vão para o endereço definido pelo criador a uma taxa de royalties especificada pelo criador.
  • Immutable Minter: 100% dos royalties vão para o endereço que cunhou o token. O criador define a taxa de royalties, e a taxa é inalterável após a implantação.
  • Mutable Minter: 100% dos royalties vão para o endereço que cunhou o token. O criador define a taxa de royalties padrão, mas o cunhador pode alterar os royalties para seus próprios tokens após a cunhagem.
  • Shared: os royalties são enviados para um divisor de pagamentos onde uma divisão inalterável pode ser reivindicada. O criador determina a porcentagem de divisão entre eles e o cunhador, bem como a taxa de royalties geral. Os fundos de royalties se acumulam nos divisores de pagamentos e podem ser reivindicados a qualquer momento.

Configurações de Segurança

Você pode então decidir sobre o nível de segurança. Este é o cerne do protocolo ERC721-C, permitindo que você defina listas de permissões e crie restrições que garantam conformidade com as regras que você define. Um nível de segurança 0 atua como um ERC721 padrão e não concede proteções explícitas de royalties, então se desejar ter proteções básicas de royalties ou outras restrições, você deve selecionar pelo menos o nível 1. Tokens implantados com nível 1 são automaticamente configurados para usar a lista de permissões de operador gerenciada pela Limit Break, que usaremos para nossos contratos. Se desejar modificar isso, poderá fazer após a implantação.

Para garantir totalmente o pagamento de royalties e conformidade com outras regras aplicáveis, o ERC721-C implementa políticas mais restritivas, habilitando e desabilitando a negociação de balcão (OTC) e restrições de receptor.

  • A negociação OTC, nesse caso, é a capacidade do proprietário transferir o token diretamente, permitindo negociações diretas entre pares. Restringir isso é aconselhável se houver uma grande parte do volume de negociação ocorrendo fora da bolsa, onde os royalties não podem ser aplicados.

Restringir receptores ocorre em dois níveis:

  • O receptor não tem código em seu endereço: essa restrição tenta garantir que o receptor não seja um contrato inteligente. No entanto, isso pode ser contornado por táticas inteligentes, como implantação determinística de contratos ou acionamento de transferências em um construtor. Se isso for uma preocupação, considere o próximo nível de restrição que segue abaixo.
  • O receptor assina uma mensagem e a submete a um registro EOA na cadeia: esta é a prova definitiva de que um usuário tem controle sobre uma chave privada e que o endereço de recebimento é uma EOA (Externally Owned Account ou Conta de propriedade externa). Isso é tão próximo do impossível quanto se pode chegar para contornar o requisito de um receptor EOA.

Para obter informações mais detalhadas sobre as configurações de segurança, você pode revisar a postagem original no Medium ou consultar o GitHub.

Metadados e Configurações de Coleção

Aqui, você insere os dados padrão necessários ao criar um NFT, como o proprietário do contrato pretendido, nome e símbolo da coleção, o URI onde seus metadados estão armazenados e um sufixo opcional. Por razões de segurança, é fortemente recomendado que o proprietário do contrato seja uma carteira multi-assinatura com pelo menos 2/3 das chaves de assinatura necessárias. Se começar com um proprietário de contrato EOA, é fortemente recomendado transferir a propriedade para uma carteira multi-assinatura.

O URI pode ser um URL IPFS ou HTTP, mas todos os IDs de token devem ter um arquivo de metadados correspondente rotulado pelo seu ID de token. Um exemplo disso está abaixo do Sufixo de Metadados para você revisar antes de prosseguir para a próxima etapa.

Nota: Você é responsável pelos seus próprios metadados e hospedagem de imagens.

Parâmetros de Fornecimento e Cunhagem

Em seguida, você define os parâmetros de fornecimento. Dependendo do seu mecanismo de distribuição, você pode definir a quantidade para os usuários poderem reivindicar, a quantidade máxima que você pode distribuir por meio de airdrop. Todos os contratos vêm com uma cunhagem privilegiada do proprietário, permitindo a opção de o proprietário cunhar diretamente uma quantidade definida.

O limitador final é a "Oferta Máxima" (Max Supply), portanto, se você lançar um token com uma oferta máxima de 10.000, cunhagem do proprietário de 10.000 e airdrops de 10.000, se o proprietário cunhar 1.000 tokens, restarão apenas 9.000 para o airdrop.

Você também pode definir o número máximo de missões simultâneas nesta etapa se estiver usando o Adventure ERC721-C como primitivo, permitindo "soft staking" (stake flexível) de até 100 missões por vez para um token por contrato inteligente adventure.

Royalties

A etapa final de configuração é a dos royalties. Aqui, você insere um número em BPS (100 = 1%) e a porcentagem calculada é exibida abaixo. Uma vez preenchido, você verá um modal de visualização que exibe a configuração do seu contrato. Verifique se todas as configurações são as esperadas e envie a transação.

Nota: Você pode conectar sua carteira em qualquer etapa durante o processo.

Para enviar a transação, clique no botão "CREATE CLONE (CRIAR CÓPIA)".

E é isso!

Assim que nossa transação for confirmada, receberemos uma janela de confirmação onde podemos ver o endereço do contrato, visualizá-lo no explorador de blocos da rede ou revisar e modificar a coleção. Nosso NFT totalmente configurado foi implantado na Sepolia em https://sepolia.etherscan.io/address/0x3bbeeae916146afb9fd46c905bf4d5b2a21485ed#code.

Agora que você tem um contrato implantado, pode ir para a próxima entrada em nossa série de tutoriais, que mostra como modificar as configurações de sua coleção e segurança.

Os ERC721-C da Limit Break, Adventure ERC721-C, Payment Processor, Minting Press e serviços e protocolos relacionados (coletivamente "Ferramentas") estão disponíveis no estado em que se encontram e a Limit Break renuncia a todas as representações e garantias, expressas ou implícitas, em conexão com o uso dessas Ferramentas. Os usuários têm toda a responsabilidade de garantir o uso adequado e legal dessas Ferramentas e devem exercer o melhor julgamento e cautela apropriados ao implantá-las. A Limit Break não garante, endossa, assegura ou assume responsabilidade por qualquer produto ou serviço anunciado ou oferecido por terceiros usando as Ferramentas e, não será parte ou de forma alguma responsável por monitorar qualquer transação entre usuários e fornecedores terceirizados de produtos ou serviços que utilizem as Ferramentas.


Artigo escrito por Limit Break Dev. Traduzido por Marcelo Panegali

Top comments (0)