Entenda todo o processo de desenvolvimento de uma plataforma de negociação NFT descentralizada.

robot
Geração do resumo em andamento

Desenvolver uma plataforma de negociação NFT de Descentralização desde o zero

Para NFTs que seguem o protocolo ERC-721, a forma de realizar a negociação descentralizada difere dos tokens ERC-20. Atualmente, as principais plataformas de negociação de NFT utilizam predominantemente o modelo de listagem, semelhante a produtos expostos nas prateleiras de um supermercado, onde os compradores podem escolher livremente.

Este artigo irá apresentar como implementar uma plataforma de negociação NFT descentralizada básica através de contratos inteligentes e uma interface frontal simples. É importante notar que este é apenas um exemplo de aprendizado, não sendo adequado para ambientes de produção reais.

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

Características e formas de negociação de NFT

NFT é a abreviatura de token não fungível, onde cada token é único. Normalmente, os NFTs exibem imagens diferentes na carteira, e cada grupo de NFTs possui um identificador único.

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

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

Modo de Negociação de Livro de Ordens

O modo de livro de ordens tem principalmente duas formas:

  1. Ordem de preço: o vendedor define o preço, e o comprador pode comprar diretamente se achar adequado.

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

Em geral, o preço das ordens de compra será inferior ao das ordens de preço fixo. Este artigo irá focar no modo de ordens de preço fixo.

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

Funcionalidades básicas da plataforma NFT

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

  1. Colocar produtos à venda: colocar o NFT à venda pelo preço especificado
  2. Comprar produtos: comprar de acordo com o preço do NFT
  3. Taxa de plataforma: uma taxa de certa proporção é cobrada com base no preço de transação

processo de listagem

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

Ao mesmo tempo, é necessário manter uma tabela de mapeamento de preços para os produtos listados no contrato.

Processo de compra

  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 DEX NFT do zero

Desenvolvimento de plataforma NFT

A seguir, vamos implementar uma plataforma simples de NFT desde o 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 existente diretamente.

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

2. contrato da plataforma de negociação

A plataforma de negociação de contratos precisa incluir as seguintes funcionalidades principais:

2.1 Vendedor coloca NFT à venda

O fluxo é o seguinte:

  1. O utilizador escolhe NFT
  2. Definir preço ( disponível em ETH ou stablecoin )
  3. Autorizar NFT para o contrato
  4. Chamar o método de listagem

Métodos de listagem necessários:

  • Verificar a propriedade do NFT
  • Adicionar registo de listagem
  • Acionar o evento de listagem

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

2.2 Compras de NFT pelo comprador

Processo de compra:

  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

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

2.3 Cancelar listagem

A cancelamento da listagem pode ser realizado definindo o campo isActive como false.

2.4 Taxa de extração

A plataforma pode cobrar uma certa proporção de taxa de transação, armazenada no contrato ou transferida para um endereço específico.

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

3. Desenvolvimento Front-end

O desenvolvimento front-end necessita das seguintes ferramentas:

  • Ant Design Web3: para conexão de carteira e exibição de NFT
  • Wagmi: utilizado para interação com a carteira
  • Next.js + Vercel: implantar projeto

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

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

3.1 Conectar carteira

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

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

3.2 Página de Mint

Para a cunhagem de NFTs de teste, utilize o método useWriteContract da wagmi para chamar o contrato.

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

3.3 Página de Portfólio

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

É necessário chamar os métodos listNFT e cancelListing do contrato e autorizar o NFT ao contrato antes de listar.

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

3.4 Página de Compra

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

Chame o método purchaseNFT ao comprar e pague o ETH correspondente.

Até aqui, uma plataforma básica de negociação NFT Descentralização foi desenvolvida. Podemos implantá-la em plataformas como Vercel para testes.

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

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
  • 5
  • Compartilhar
Comentário
0/400
failed_dev_successful_apevip
· 07-29 23:38
Não fique com essas formalidades, faça um demo e pronto.
Ver originalResponder0
FalseProfitProphetvip
· 07-29 23:38
A primeira aula para programadores iniciantes
Ver originalResponder0
ZKProofstervip
· 07-29 23:34
hmm... tecnicamente falando, esta implementação carece de vetores de privacidade críticos
Ver originalResponder0
MetaverseHobovip
· 07-29 23:23
As taxas podem ser aproveitadas?
Ver originalResponder0
consensus_failurevip
· 07-29 23:11
insights valiosos Justo não consigo entender~
Ver originalResponder0
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)