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

robot
Geração de resumo em curso

Construir uma plataforma de negociação NFT de Descentralização a partir do zero

Neste artigo, vamos explorar como implementar uma plataforma de negociação descentralizada de NFT baseada em contratos inteligentes. Ao contrário dos tokens ERC-20 que são negociados através de mecanismos de market maker automático, as transações de NFT geralmente adotam um modelo de livro de ordens. Vamos implementar a funcionalidade de negociação descentralizada de NFT através da escrita de contratos inteligentes e de uma página front-end simples.

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

Características das transações de NFT

NFT( token não fungível ) segue o protocolo ERC-721, cada token é único. Devido à não fungibilidade do NFT, não é possível definir preços através de curvas de preço como com tokens fungíveis. Atualmente, a forma predominante de negociação de NFTs adota um modelo de livro de ordens, semelhante à exibição de produtos nas prateleiras de um supermercado.

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

  1. Ordem de Preço: o vendedor define o preço, o comprador pode comprar se achar apropriado.
  2. Ordem de Compra: O comprador envia uma ordem de compra, o vendedor pode vender se achar o preço adequado.

Este artigo irá focar na implementação do modelo de ordens de preços.

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

Funções principais da plataforma NFT

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

  1. Produtos em estoque: permite que os vendedores definam preços para listar NFTs
  2. Comprar produtos: permite que os compradores comprem NFT ao preço definido
  3. Cobrança de taxa: a taxa de transação é cobrada proporcionalmente ao preço de negociação.

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

Implementação de Contratos Inteligentes

Os nossos contratos inteligentes precisam implementar os seguintes métodos chave:

1. Listar NFT

O vendedor chama este método para listar o NFT para venda:

solidity function listNFT(address nftAddress, uint256 tokenId, uint256 price) public { // Verificar a propriedade do NFT // Adicionar registro de listagem
// Acionar evento de listagem }

2. Comprar NFT

O comprador chama este método para comprar o NFT já listado:

solidity function purchaseNFT(address nftAddress, uint256 tokenId) public payable { // Obter informações sobre a listagem de NFT // Calcular e deduzir a taxa de serviço // Transferir NFT para o comprador // Transferir para o vendedor // Disparar evento de compra
}

3. Cancelar listagem

O vendedor pode cancelar o NFT já listado:

solidez function cancelListing(address nftAddress, uint256 tokenId) public { // Verificar permissões do chamador // Marcar o estado de listagem como inválido // Disparar evento de cancelamento }

4. Taxa de retirada

Os proprietários da plataforma podem retirar as taxas acumuladas:

solidity função withdrawFees() pública onlyOwner { // Transferir a taxa de contrato para o endereço especificado }

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

Desenvolvimento Front-end

A página da interface principal contém as seguintes partes:

  1. Conectar carteira: usar Ant Design Web3 para implementar a funcionalidade de conexão de carteira

  2. Página de Mint: utilizada para a mintagem de NFTs de teste

  3. Página de Portfólio: exibe os NFTs que o usuário possui, suportando operações de listagem e deslistagem.

  4. Página de Compra: Exibe todos os NFTs à venda, suportando a operação de compra.

Nós usamos Next.js para desenvolver o front-end e implantá-lo na plataforma Vercel.

Série de novatos em Web3: Criação de um DEX NFT a partir do zero

Através dos passos acima, conseguimos implementar uma plataforma de negociação NFT com funcionalidades básicas e descentralização. Este simples Demo demonstra a lógica central das transações NFT, estabelecendo a base para o desenvolvimento de um sistema de negociação NFT mais complexo.

É importante notar que este artigo é apenas para fins de estudo e referência; as plataformas de negociação de NFT em ambientes de produção real precisam considerar mais fatores, como segurança e escalabilidade.

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

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

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

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

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

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

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

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

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 4
  • Partilhar
Comentar
0/400
faded_wojak.ethvip
· 07-11 21:31
Abrindo aviãoing este tutorial me leva Até à lua
Ver originalResponder0
TeaTimeTradervip
· 07-09 09:42
Brincar primeiro e depois falar, pode ser que acabe a perder até as calças.
Ver originalResponder0
MetadataExplorervip
· 07-09 09:33
Isso não é apenas uma versão simplificada do sistema operacional, hã?
Ver originalResponder0
just_here_for_vibesvip
· 07-09 09:26
O desenvolvimento é tão fácil assim?
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)