Construindo um DEX NFT do zero: Guia de desenvolvimento de contratos e front-end

Construir um DEX de NFT do zero

Leitores que já leram os artigos anteriores devem entender que, para tokens do protocolo ERC-20, podemos negociar através de algum DEX. Mas como podemos realizar transações descentralizadas para o protocolo ERC-721, que é o NFT?

Atualmente, as principais plataformas de negociação de NFT utilizam o método de ordens, semelhante a exibir produtos nas prateleiras de um supermercado, onde os compradores podem comprar se acharem que o preço é adequado.

Este artigo irá implementar a negociação descentralizada de NFT através da escrita de contratos inteligentes e de uma página de front-end simples. É importante notar que o conteúdo deste artigo é apenas para referência de aprendizado e não é adequado para ambientes de produção.

Web3 Novato Série: Criar um NFT DEX do zero

NFT( token não fungível )

NFT é um token não fungível, que segue o protocolo ERC-721, onde cada Token é único. Normalmente, os NFTs exibem imagens diferentes na carteira, e cada conjunto de NFTs possui um ID exclusivo para distinção.

Devido às características dos NFTs, não é possível definir preços através de curvas de preço como nos ERC-20. O método de negociação mais comum atualmente é na forma de livro de ordens.

Web3 Novato Série: Implementar um NFT DEX do zero

Negociação de Livro de Ordens

O modo de livro de ordens, de forma simples, é quando os preços dos produtos são definidos por humanos, ao contrário de alguns DEX que calculam os preços através de curvas de preço. O livro de ordens geralmente tem dois modos de negociação:

  1. Ordem de preço: o vendedor define o preço de venda, e o comprador pode comprar se achar apropriado.

  2. Pedido de compra: O comprador envia uma ordem de compra, e o vendedor pode vender se achar o preço adequado.

Normalmente, o preço da ordem de compra será inferior ao preço da ordem de venda. Este artigo apresenta apenas o primeiro método de precificação.

Web3 Novato Série: Implementar um NFT DEX do zero

Funções básicas do NFT DEX

Um DEX NFT deve incluir as seguintes funcionalidades básicas:

  1. Colocar produtos à venda: Listar NFTs ao preço definido
  2. Comprar produtos: realizar a compra com base no preço do NFT
  3. Taxa de DEX: Cobrança de taxa com base na proporção do preço de transação

produto listado

Para listar um produto, é necessário completar:

  1. Front-end: o usuário escolhe o NFT e define o preço, clica em listar.
  2. Contrato: Usuário autoriza operação de contrato NFT.

É necessário manter um mapa de preços de produtos listados pelos usuários no contrato, que pode ser armazenado em um serviço centralizado para aliviar a carga do contrato; neste artigo, será salvo dentro do contrato.

comprar produtos

Ao comprar produtos, poderá ocorrer:

  1. Frontend: O usuário escolhe o NFT que deseja comprar e clica em comprar.
  2. Contrato: Transferir os fundos do comprador para o vendedor, NFT para o comprador.

Série para Novatos em Web3: Criar um NFT DEX do Zero

Implementar NFT DEX

Vamos implementar um DEX de NFT do zero.

1. Criar NFT

Para fins de teste, podemos criar rapidamente um NFT do protocolo ERC-721 através do Remix. Também podemos pular esta etapa e usar um NFT existente.

Série para Novatos em Web3: Implementando um NFT DEX do Zero

2. Redação de contratos

Os métodos de contrato devem incluir:

2.1 Vendedor coloca NFT à venda

Fluxo:

  1. O usuário escolhe NFT
  2. Defina o preço ( em stablecoins ou ETH )
  3. Autorizar NFT ao contrato

O método de listagem requer:

  1. Verificar a propriedade do NFT
  2. Adicionar registo de listagem
  3. Acionar evento de listagem

Web3 Novato Série: Realizando um NFT DEX do zero

2.2 Comprador compra NFT

Passos de execução do contrato:

  1. Ler dados NFT
  2. Calcular e deduzir a taxa de serviço
  3. Transferir NFT para o comprador
  4. Acionar evento de compra

Web3 Novato Série: Criar um NFT DEX do zero

2.3 Cancelar listagem

Defina o campo isActive do registro de listagem como false.

2.4 Taxa de retirada

A DEX pode cobrar uma taxa de transação em cada negociação, depositando em contrato ou transferindo para um endereço designado. Este artigo utiliza o método de depósito em contrato.

Web3 Novato Série: Realizar um NFT DEX do zero

3. Desenvolvimento de Frontend DEX

Usar ferramenta:

  • Ant Design Web3: conectar carteira e exibir cartões NFT
  • Wagmi: Interação com a carteira
  • Nextjs + Vercel: implementar projeto

A interface inclui três páginas: Mint, Buy e Portfolio.

3.1 Conectar Wallet

Usar o componente de conexão Ant Design Web3 para implementar a conexão da carteira.

Web3 Novato Série: Implementar um NFT DEX do zero

3.2 Mint

Usar o método useWriteContract do wagmi para implementar a cunhagem de NFT.

Web3 Novato Série: Implementar um NFT DEX do zero

3.3 Portfólio

Exibir NFTs dos usuários, suportando operações de listagem e deslistagem. Usar a API do opensea para obter a lista de NFTs, através do contrato verificar se já está listado.

Série para iniciantes em Web3: como implementar um DEX NFT do zero

3.4 Comprar

Exibir NFTs listados, suportar operações de compra. Chamar o método purchaseNFT para concluir a transação.

Série para iniciantes em Web3: implementar um NFT DEX do zero

Até aqui, uma página front-end de NFT DEX com funcionalidades básicas foi concluída e pode ser implantada no Vercel.

Série para novatos em Web3: Implementar um NFT DEX do zero

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 8
  • Republicar
  • Partilhar
Comentar
0/400
AirdropHunterKingvip
· 08-09 19:23
gás subiu às alturas, pare de estudar essas coisas.
Ver originalResponder0
CryptoPhoenixvip
· 08-08 21:10
A zona inferior é realmente o melhor momento para desenvolvimento, ah! Tenha paciência e espere pelos frutos.
Ver originalResponder0
LiquidityOraclevip
· 08-07 16:48
Hã? Criaram mais um exchange de nft?
Ver originalResponder0
GateUser-afe07a92vip
· 08-07 02:57
Finalmente consigo vender os MONKY que tinha guardados.
Ver originalResponder0
LiquidityWitchvip
· 08-07 02:56
preparando um pouco de magia dex proibida... não vou mentir, esta estrutura de mercado precisa de um upgrade com um ritual sombrio de verdade
Ver originalResponder0
Blockblindvip
· 08-07 02:51
Se desenvolve ou não, é só vender.
Ver originalResponder0
LuckyBlindCatvip
· 08-07 02:50
Ahá, finalmente alguém falou sobre isso.
Ver originalResponder0
MEVHunterWangvip
· 08-07 02:45
Ai, mais um tutorial de teoria sem prática.
Ver originalResponder0
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)