Construção de uma plataforma de negociação NFT descentralizada do zero: contratos inteligentes e implementação frontal

robot
Geração de resumo em curso

Implementar uma plataforma de negociação descentralizada simples de NFT

Para os NFTs que seguem o protocolo ERC-721, como implementar a negociação descentralizada? Atualmente, a maioria das plataformas de negociação de NFT utiliza um método de listagem para realizar transações, semelhante a produtos expostos em prateleiras, onde os compradores podem adquiri-los se acharem o preço adequado. Este artigo irá implementar uma funcionalidade básica de negociação descentralizada de NFTs através da escrita de contratos inteligentes e de uma página frontal simples.

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. Geralmente, os NFTs exibem imagens diferentes na carteira, e cada conjunto de NFTs tem um ID único para distinção. Devido às características dos NFTs, não é possível definir preços através de curvas de preço como os tokens ERC-20, portanto, a forma comum de negociação é através de um livro de ordens.

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

Modo de Negociação de Livro de Ordens

No modo de livro de ordens, o preço dos produtos é definido por humanos, diferindo da maneira como os market makers automáticos calculam preços com base em curvas de preços. 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. Pedido de compra: O comprador emite uma ordem de compra, o vendedor pode vender se achar o preço adequado.

Em geral, o preço da ordem de compra será inferior ao da ordem de preço. Este artigo apresenta principalmente o modo de negociação da ordem de preço.

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

Funcionalidades básicas da plataforma NFT

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

  1. Colocar produtos à venda: colocar o NFT à venda pelo preço definido
  2. Comprar produtos: comprar ao preço do NFT
  3. Taxa da plataforma: cobrada proporcionalmente com base no preço de transação.

processo de listagem de produtos

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

É necessário manter uma tabela de mapeamento de preços de produtos listados pelos usuários no contrato.

Processo de compra de produtos

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

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

Implementar uma plataforma de negociação NFT

Esta seção irá implementar uma plataforma simples de NFT do zero.

1. Criar NFT de teste

Pode usar o Remix para implantar rapidamente um contrato NFT do protocolo ERC-721 para testes.

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

2. Escrever contratos inteligentes

O contrato precisa incluir os seguintes métodos principais:

2.1 Vendedor coloca NFT à venda

Fluxo:

  1. O usuário escolhe NFT
  2. Definir preço
  3. Autorizar NFT ao contrato
  4. Chamar o método de listagem

O método de listagem requer:

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

Série para iniciantes em Web3: como criar um DEX de NFT 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 DEX NFT do zero

2.3 Cancelar listagem

Defina o campo isActive do registro de listagem como false.

2.4 Taxa de retirada

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

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

3. Desenvolvimento da interface frontal

Utilize as seguintes ferramentas:

  • Ant Design Web3: conectar carteira e mostrar NFT
  • Wagmi: Interagir com a carteira
  • Next.js + Vercel: implementar o projeto

A parte frontal contém três páginas: Mint, Buy e Portfolio.

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

3.1 Conectar carteira

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

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

3.2 Página de Mint

Usado para cunhagem de teste NFT, utilizando o método useWriteContract do wagmi para chamar o contrato.

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

3.3 Página de Portfólio

Exibir NFT dos usuários, suportar operações de listagem e deslistagem.

Processo de listagem:

  1. Autorizar NFT ao contrato
  2. Chamar o método listNFT

Remover do mercado: chamar o método cancelListing

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

3.4 Página de Compra

Exibir todos os NFTs listados, suportando operações de compra.

Chame o método purchaseNFT ao comprar, usando ETH para pagamento.

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

Após concluir os passos acima, uma plataforma de negociação NFT com funcionalidades básicas foi criada, podendo ser implantada no Vercel para testes.

Série para iniciantes em Web3: construir um DEX de 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
  • Partilhar
Comentar
0/400
TokenSleuthvip
· 7h atrás
Assim é, sem mais nem menos.
Ver originalResponder0
LiquidityWitchvip
· 07-12 12:42
Quanto é a taxa de transação? Diga-me algo concreto.
Ver originalResponder0
TheMemefathervip
· 07-12 12:40
Comissões podem gerar grandes lucros.
Ver originalResponder0
VibesOverChartsvip
· 07-12 12:39
又想 fazer as pessoas de parvas novos idiotas了吧
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)