Construindo uma plataforma de negociação NFT descentralizada do zero: Guia de implementação de contratos inteligentes e front-end

robot
Geração de resumo em curso

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

Nas últimas publicações, explorámos como realizar a negociação descentralizada de tokens ERC-20 através de DEX. Mas como é que podemos realizar a negociação descentralizada para NFTs que seguem o protocolo ERC-721?

Atualmente, as principais plataformas de negociação de NFT usam um modelo de ordem pendente para realizar transações, semelhante a produtos expostos nas prateleiras de um supermercado; os compradores podem levar para casa se acharem o preço adequado. Este artigo irá implementar a negociação descentralizada de NFT através da criação de contratos inteligentes e uma página da web simples. É importante notar que o conteúdo deste artigo é apenas para fins de aprendizado e não é adequado para ambientes de produção.

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

Introdução ao NFT

NFT é um token não fungível, que segue o protocolo ERC-721. Cada NFT é único, geralmente exibido em diferentes formas de imagem na carteira, e possui um ID único para distinção.

Devido às características do NFT, não é possível definir o preço como nos tokens ERC-20 através da curva de preços. Assim, a forma de negociação mais comum atualmente é através de um livro de ordens.

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

Modo de Negociação do Livro de Ordens

No modo de livro de ordens, o preço dos produtos é definido por pessoas, ao contrário do método que calcula preços através de algoritmos. 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 adequado.

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

Em geral, o preço das ordens de compra será inferior ao preço das ordens de venda. Este artigo se concentrará no modo de negociação de preços.

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

Funções Básicas da Plataforma NFT DEX

Uma plataforma básica de NFT DEX deve incluir as seguintes funcionalidades:

  1. Listar produtos: colocar o NFT à venda pelo preço definido
  2. Comprar produtos: comprar ao preço do NFT
  3. Cobrança de taxa: cobrada proporcionalmente ao preço de transação

processo de listagem de produtos

  1. Frontend: O usuário seleciona o NFT e define o preço, clica em listar.
  2. Contrato: o usuário autoriza o contrato a operar o seu NFT

É necessário manter uma tabela de mapeamento de preços dos produtos listados pelos usuários no contrato. Para aliviar a carga do contrato, esses dados também podem ser armazenados em serviços centralizados.

Processo de compra de produtos

  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

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

Implementação de DEX NFT

A seguir, vamos implementar um DEX 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 usar um NFT já preparado.

Série para Novatos em Web3: Implementando um DEX de NFT a partir do zero

2. Redação de contrato

O contrato deve incluir os seguintes métodos principais:

2.1 Vendedor lista NFT

Fluxo:

  1. O usuário escolhe NFT
  2. Defina o preço ( em stablecoins ou ETH )
  3. Autorizar NFT para o contrato
  4. Chamada do método de listagem

Método de listagem a ser executado:

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

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

2.2 Comprador compra NFT

Após o comprador escolher o NFT e efetuar o pagamento, o contrato é executado:

  1. Ler dados de 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: implementar um DEX NFT do zero

2.3 Cancelar listagem

Defina o campo isActive do produto como falso.

2.4 Taxa de retirada

Pode depositar a taxa de transação no contrato ou transferi-la para o endereço designado.

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

3. Desenvolvimento de frontend DEX

Ferramenta principal utilizada:

  • Ant Design Web3: conectar carteira, exibir NFT cartões
  • Wagmi: interagir com a carteira
  • Nextjs + Vercel: Desdobramento do projeto

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

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

3.1 Conectar carteira

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

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

3.2 Página de Mint

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

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

3.3 Página do Portfólio

Exibir NFTs dos usuários, suportando operações de listagem e deslistagem.

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

3.4 Página de Compra

Exibir NFTs já listados, suportar operações de compra.

Até aqui, o front-end de uma DEX básica de NFT está concluído. Pode ser implementado no Vercel para acesso.

Web3 novato série: construir um DEX NFT 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
  • 4
  • Republicar
  • Partilhar
Comentar
0/400
PoolJumpervip
· 07-21 17:01
会整是pro
Ver originalResponder0
DogeBachelorvip
· 07-19 17:08
麻烦companheiro多说点具体咋操作
Ver originalResponder0
BlockTalkvip
· 07-18 22:22
自己撸合约不如开盒descartar
Ver originalResponder0
ApeDegenvip
· 07-18 22:22
Finalmente há um tutorial que me ensina a enriquecer!
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)