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

Construir uma plataforma de troca NFT de Descentralização do zero

Após uma pesquisa aprofundada sobre a Descentralização das transações de tokens ERC-20, não podemos deixar de nos perguntar: como podemos realizar transações descentralizadas do protocolo ERC-721 (ou seja, NFT)?

Atualmente, as principais plataformas de negociação de NFT utilizam um modelo de ordens, semelhante à exibição de produtos nas prateleiras de um supermercado. Os compradores podem comprar diretamente o NFT que consideram com preço adequado.

Este artigo irá guiá-lo passo a passo na construção de uma simples plataforma de negociação NFT Descentralização, incluindo a escrita de contratos inteligentes e o desenvolvimento de uma interface front-end básica. Por favor, note que o conteúdo deste artigo é apenas para referência de aprendizagem e não é adequado para ambientes de produção reais.

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

Introdução ao NFT

NFT (token não fungível) segue o protocolo ERC-721, onde cada Token é único. Os NFTs são geralmente exibidos nas carteiras em diferentes formas de imagem e possuem um ID exclusivo para distinção.

Devido à singularidade dos NFTs, não é possível precificá-los através de curvas de preços como os tokens ERC-20. Assim, a forma comum de negociação de NFTs é através de um livro de ordens.

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

Modo de Negociação de Livro de Ordens

As transações em livro de ordens têm principalmente dois modos:

  1. Ordem de precificação: o vendedor define o preço de venda, e o comprador pode comprar se achar adequado.
  2. Pedido de compra: O comprador publica uma ordem de compra, e o vendedor pode vender após aceitar o preço.

Normalmente, o preço da ordem de compra será inferior ao da ordem de preço. Este artigo irá focar no modo de ordem de preço.

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

NFT Descentralização plataforma core funcionalidade

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

  1. Listar NFT: permite que os usuários definam preços para listar NFT
  2. Comprar NFT: os usuários podem comprar NFT ao preço definido.
  3. Taxa da plataforma: uma taxa proporcional ao preço da transação é cobrada.

Processo de listagem de NFT

  1. Frontend: O usuário escolhe o NFT e define o preço, clicando 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 de produtos listados por usuários no contrato. Embora esses dados possam ser armazenados em serviços centralizados para aliviar a carga do contrato, este artigo os mantém no contrato.

processo de compra de NFT

  1. Frontend: O usuário escolhe o NFT que deseja comprar e clica em comprar.
  2. Contrato: executar a operação de transferência, transferindo os fundos do comprador para o vendedor, ao mesmo tempo que transfere o NFT para o comprador.

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

Construir uma plataforma de negociação NFT descentralizada

A seguir, vamos implementar gradualmente uma plataforma de negociação NFT de Descentralização.

1. Criar NFT de teste

Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT que cumpra o protocolo ERC-721. Claro, também podemos usar diretamente NFTs existentes para testes.

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

2. Desenvolvimento de contratos inteligentes

Os nossos contratos precisam de incluir as seguintes funcionalidades principais:

2.1 Listagem de NFT

O vendedor precisa especificar o NFT e o preço ao listar o NFT. O processo de listagem inclui:

  1. O usuário escolhe NFT
  2. Definir preço (pode usar USDT, USDC ou ETH)
  3. Autorizar NFT ao contrato

Método de listagem de contratos que deve ser concluído:

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

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

2.2 Compra de NFT

Quando o comprador adquire um NFT, o contrato deve ser 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

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

2.3 Cancelar listagem

O vendedor pode cancelar a listagem do NFT. No contrato, o campo isActive é utilizado para marcar se o produto é válido; ao cancelar a listagem, basta definir esse campo como false.

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

2.4 Taxa de extração

A plataforma pode cobrar uma taxa em cada transação, neste caso, a taxa é armazenada no contrato.

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

3. Desenvolvimento Front-end

O desenvolvimento front-end usa as seguintes ferramentas:

  • Ant Design Web3: usado para conexão de carteira e exibição de NFT
  • Wagmi: implementar a interação da carteira
  • Nextjs + Vercel: implantar projeto

A aplicação front-end contém três páginas principais: Mint, Buy e Portfolio.

3.1 Conectar carteira

Utilize o componente de conexão do Ant Design Web3 para implementar a funcionalidade de conexão da carteira. Para aumentar a velocidade de consulta, recomenda-se usar serviços de nós como o endpoint da ZAN.

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

3.2 Página de Mint

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

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

3.3 Página do Portfólio

Exibir os NFTs possuídos pelo usuário, suportando operações de listagem e deslistagem. Utilizar a API do opensea para obter a lista de NFTs e determinar o estado de listagem dos NFTs através de métodos de contrato.

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

3.4 Página de Compra

Mostre todos os NFTs listados e forneça a funcionalidade de compra. Ao comprar, chame o método purchaseNFT e pague com ETH.

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

Após concluir os passos acima, uma plataforma básica de negociação NFT de Descentralização está construída. Você pode implantá-la em plataformas como Vercel para testes e uso.

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
  • 6
  • Partilhar
Comentar
0/400
NotGonnaMakeItvip
· 3h atrás
Esta armadilha é realmente boa. Quando será Código aberto?
Ver originalResponder0
SocialFiQueenvip
· 07-20 02:58
Aproveitar a tendência, certo, já era hora de montar o meu próprio.
Ver originalResponder0
GateUser-ccc36bc5vip
· 07-20 02:58
Quando é que vai ser Código aberto?
Ver originalResponder0
bridge_anxietyvip
· 07-20 02:57
ordens em aberto交易老掉牙了
Ver originalResponder0
TokenSherpavip
· 07-20 02:43
na verdade, isto é bastante rudimentar... vi implementações melhores durante os meus dias de consultoria em DAO, para ser honesto
Ver originalResponder0
HashBanditvip
· 07-20 02:40
ainda à espera da escalabilidade l2 para tornar a negociação de nft suportável... essas taxas de gás matam-me a cada vez smh
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)