Guia completo para construir uma plataforma de negociação NFT descentralizada do zero

robot
Geração de resumo em curso

Implementar uma plataforma de negociação NFT Descentralização do zero

Para os NFTs do protocolo ERC-721, como implementar a Descentralização nas transações? Atualmente, as principais plataformas de negociação de NFTs utilizam um método de ordens, semelhante a exibir produtos nas prateleiras de um supermercado, onde os compradores podem adquirir se acharem o preço adequado.

Este artigo irá implementar a negociação descentralizada de NFTs 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 aprendizagem e não é adequado para uso direto em ambiente de produção.

NFT(Token Não Fungível)Introdução

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

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

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

Modo de Negociação de Livro de Ordens

No modo de livro de ordens, o preço dos produtos é definido por pessoas, ao contrário de alguns DEX que calculam o preço através de curvas de preço. O livro de ordens geralmente é dividido em 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 adequado.

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

Normalmente, o preço de uma ordem de compra será inferior ao preço de uma ordem de venda. Este artigo apresenta principalmente o modo de negociação de ordens de venda.

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

Funcionalidades básicas da plataforma de negociação NFT Descentralização

Uma plataforma básica de negociação de NFT Descentralização deve incluir as seguintes funcionalidades:

  1. Listar produto: colocar o NFT à venda de acordo com o preço definido
  2. Comprar produto: efetuar a compra com base no preço do NFT
  3. Cobrança de taxas: cobrada com base na proporção do preço de execução

processo de listagem de produtos

  1. Frontend: O utilizador escolhe o NFT e define o preço, clica em listar.
  2. Contrato: o usuário autoriza a operação do NFT

É necessário manter uma tabela de mapeamento dos preços dos produtos listados pelos usuários no contrato. Esta parte dos dados também pode ser armazenada em um serviço centralizado para aliviar a carga do contrato, mas este artigo irá mantê-la dentro do contrato.

Processo de compra de produtos

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

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

Implementar uma plataforma de negociação NFT Descentralização

Esta seção irá implementar uma plataforma de negociação NFT Descentralização a partir do zero.

1. Criar contrato NFT

Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT do protocolo ERC-721. Claro que também podemos usar um contrato NFT já preparado.

Série para Iniciantes em Web3: Criar um DEX de NFT do zero

2. Redigir contrato de plataforma de negociação

Os contratos da plataforma de negociação devem incluir os seguintes métodos principais:

2.1 Vendedor coloca NFT à venda

Processo de listagem:

  1. O usuário escolhe NFT
  2. Definir preço ( em moedas estáveis ou em ETH )
  3. Autorizar NFT para o contrato

O método de listagem requer:

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

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

2.2 Comprador compra NFT

Processo de compra:

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

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

2.3 Cancelar a listagem

Defina o campo isActive correspondente ao NFT em listings como false.

Web3 novato série: implementar um DEX NFT do zero

2.4 Taxa de extração

Retirar as taxas acumuladas no contrato para o endereço especificado.

Web3 novato série: implementar um DEX NFT do zero

3. Desenvolvimento da plataforma de negociação front-end

Ferramentas principais utilizadas:

  • Ant Design Web3: conectar carteira, exibir cartões NFT
  • Wagmi: Interação com a carteira
  • Next.js + Vercel: implantação do projeto

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

3.1 Conectar carteira

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

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

3.2 Página de Mint

Utilizado para a cunhagem de NFT de teste, chamando o método useWriteContract da wagmi para interagir com o contrato.

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

3.3 Página de Portfólio

Gerir os NFTs dos utilizadores, implementar a funcionalidade de listar e deslistar. Utilizar a API do opensea para obter a lista de NFTs dos utilizadores e chamar o contrato para verificar o estado de listagem do NFT.

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

3.4 Página de Compra

Exibir todos os NFTs listados, implementar a funcionalidade de compra. Chamar o método purchaseNFT do contrato para concluir a transação.

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

Após completar os passos acima, uma plataforma de negociação descentralizada básica de NFT foi implementada. Pode ser implantada em plataformas como Vercel para acesso e uso.

Web3 novato série: implementar um NFT DEX do zero

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 3
  • Partilhar
Comentar
0/400
NFTArchaeologisvip
· 07-05 06:00
Uma simples tentativa de desenvolvimento por um entusiasta de arqueologia experiente.
Ver originalResponder0
DefiEngineerJackvip
· 07-05 05:57
*suspiro* outro tutorial que ignora a verificação formal...
Ver originalResponder0
CommunityWorkervip
· 07-05 05:57
Aprender é uma besteira, a prática é que é a verdadeira verdade.
Ver originalResponder0
  • Pino
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)