Guia completo para construir uma plataforma de negociação NFT descentralizada com contratos inteligentes

robot
Geração do resumo em andamento

Construção de uma plataforma de negociação NFT descentralizada

Para NFTs que seguem o protocolo ERC-721, a implementação da Descentralização de transações é um tema importante. Ao contrário dos tokens ERC-20, cada Token de NFT é único, portanto, não pode ser definido um preço de transação através de curvas de preços como em algumas DEX. Atualmente, as plataformas de negociação de NFT mais populares utilizam um método de pedidos para realizar transações, semelhante a produtos expostos nas prateleiras do supermercado, onde os compradores podem escolher produtos a preços adequados.

Este artigo irá apresentar como implementar uma plataforma básica de negociação NFT descentralizada através de contratos inteligentes e uma interface front-end simples. É importante notar que o conteúdo deste artigo é apenas para referência de aprendizado e não é adequado para uso direto em ambientes de produção.

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

Core features of the NFT plataforma

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

  1. Colocar produtos à venda: o vendedor pode definir um preço para colocar o NFT à venda.
  2. reprove produto: o comprador pode adquirir NFT pelo preço definido
  3. Taxa de transação: a plataforma pode cobrar uma taxa de transação proporcional.

processo de listagem de produtos

  1. Front-end: o usuário escolhe o NFT e define o preço, clica em listar
  2. Contrato: o usuário autoriza o contrato a operar seu NFT

O contrato precisa manter uma tabela de mapeamento de preços dos produtos listados pelos usuários. Embora esses dados também possam ser armazenados em serviços centralizados para aliviar a carga do contrato, este artigo os manterá dentro do contrato.

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 e transferir o NFT para o comprador

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

Implementar plataforma de negociação NFT

1. Criar NFT de teste

Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT que siga o protocolo ERC-721. Também podemos usar um NFT já preparado para operações subsequentes.

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

2. Escrever contratos inteligentes

O contrato precisa implementar os seguintes métodos centrais:

2.1 Vendedor coloca NFT à venda

Fluxo:

  1. O utilizador seleciona NFT
  2. Definir preço ( pode ser cotado em stablecoins ou ETH )
  3. Autorizar NFT para o contrato

Método de listagem de contrato requer:

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

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

2.2 Comprador compra NFT

O método de compra de contratos requer:

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

2.3 Cancelar listagem

Basta definir o campo isActive no registo de listagem como falso.

2.4 Taxa de extração

A plataforma pode armazenar as taxas cobradas no contrato ou transferi-las para um endereço específico.

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

3. Desenvolvimento da interface do utilizador

Ferramentas principais utilizadas:

  • Ant Design Web3: conectar a carteira e exibir NFT
  • Wagmi: Interagir com a carteira
  • Next.js + Vercel: implantar projeto

A interface precisa implementar três páginas principais:

  • Mint: utilizado para a cunhagem de NFTs de teste
  • Comprar: mercado de negociação NFT
  • Portfólio: gestão de NFTs do usuário

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

3.1 Conectar carteira

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

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

3.2 Página de Mint

Utilize o método useWriteContract do wagmi para chamar a função mint do contrato NFT.

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

3.3 Página do Portfólio

Exibir os NFTs que o usuário possui, suportando operações de listagem e deslistagem.

Na listagem, é necessário chamar o método listNFT e autorizar previamente o NFT ao contrato. Chame o método cancelListing ao deslistar.

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

3.4 Página de Compra

Mostrar todos os NFTs que estão listados e são válidos. Chame o método purchaseNFT ao comprar e pague o ETH correspondente.

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

Até aqui, uma plataforma básica de negociação NFT descentralizada foi concluída. Pode ser implantada em plataformas como Vercel para testes.

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

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

MINT13.45%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 9
  • Compartilhar
Comentário
0/400
MEVEyevip
· 07-19 22:03
As taxas estão muito caras, não estão?
Ver originalResponder0
PensionDestroyervip
· 07-19 12:46
As taxas de transação vão fazer as pessoas de parvas novamente.
Ver originalResponder0
AirdropF5Brovip
· 07-18 20:13
As taxas estão muito altas, fora!
Ver originalResponder0
PoetryOnChainvip
· 07-16 23:37
Isto vai fazer as pessoas de parvas novamente.
Ver originalResponder0
ShitcoinConnoisseurvip
· 07-16 23:32
Então você vai cozinhar arroz frio, a apresentação é feia.
Ver originalResponder0
staking_grampsvip
· 07-16 23:32
gás费得算好啊
Ver originalResponder0
probably_nothing_anonvip
· 07-16 23:19
Testnet jogar também não é perda
Ver originalResponder0
WalletDetectivevip
· 07-16 23:12
As taxas de transação estão muito altas, não estão?
Ver originalResponder0
RugDocScientistvip
· 07-16 23:07
Entramos na conta para cavar buracos.
Ver originalResponder0
Ver projetos
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)