Construir uma plataforma de negociação NFT Descentralização: de contratos inteligentes a interface frontal

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

Para NFTs que seguem o protocolo ERC-721, como implementar a Descentralização nas transações? Atualmente, o método de negociação de NFTs mais comum adota o modelo de livro de ordens, semelhante a exibir produtos em prateleiras, onde os compradores podem comprar quando acham que o preço é adequado. Este artigo irá descrever como criar uma plataforma básica de negociação descentralizada para NFTs através da escrita de contratos inteligentes e uma página de front-end simples.

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

Funcionalidades básicas da plataforma NFT

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

  1. Colocar NFT à venda: o vendedor pode definir o preço para colocar o NFT à venda
  2. Comprar NFT: O comprador pode adquirir o NFT listado ao preço definido
  3. Cobrança de taxas: a plataforma pode retirar uma certa proporção da taxa de transação.

na plataforma NFT

O processo de listagem de NFT é o seguinte:

  1. O vendedor escolhe o NFT a ser listado e define o preço
  2. O contrato de negociação autorizado pelo vendedor pode operar esse NFT
  3. Chamar o método de listagem do contrato, registrar as informações de listagem

Comprar NFT

O processo de compra de NFT é o seguinte:

  1. O comprador escolhe o NFT que deseja comprar
  2. Chamar o método de compra do contrato
  3. O contrato transferirá os fundos do comprador para o vendedor, ao mesmo tempo que transferirá o NFT para o comprador.

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

Implementar plataforma de negociação

1. Criar NFT de teste

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

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

2. Escrever contrato de transação

Os contratos de negociação precisam implementar os seguintes métodos principais:

2.1 Colocar NFT na plataforma

solidity function listNFT(address nftAddress, uint256 tokenId, uint256 price) public { // Verificar a propriedade do NFT // Registar informações de listagem
// Acionar evento de listagem }

2.2 Comprar NFT

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

2.3 Cancelar listagem

solidity function cancelListing(address nftAddress, uint256 tokenId) public { // Verificar permissões de operação // Definir o estado de listagem como inválido // Acionar evento de cancelamento }

2.4 Taxa de retirada

solidity function withdrawFees() public onlyOwner { // Taxas de transferência do contrato }

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

3. Desenvolvimento da interface do utilizador

Utilize as seguintes ferramentas para desenvolver o front-end:

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

A interface inclui as seguintes páginas principais:

  • Mint: utilizado para criar NFT de teste
  • Comprar: mercado de NFT, pode comprar NFTs listados.
  • Portfolio: Gerir os NFTs dos utilizadores, podendo listar e deslistar.

3.1 Conectar carteira

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

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

3.2 Página de Mint

Chamar o método mint do contrato NFT para criar um NFT de teste.

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

3.3 Página do Portfólio

  • Obter NFTs que o usuário possui
  • Verificar se o NFT já está listado
  • Implementar a funcionalidade de listar e deslistar NFTs

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

3.4 Página de Compra

  • Mostrar todos os NFTs listados
  • Implementar a funcionalidade de compra

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

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

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

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

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

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

Web3 novato série: implementar um DEX NFT a partir 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
  • 6
  • Compartilhar
Comentário
0/400
LiquidationWatchervip
· 07-04 15:00
passamos por muitos rugpulls para confiar em outro dex... cuidado com as taxas e contratos inteligentes, família
Ver originalResponder0
hodl_therapistvip
· 07-04 10:30
Depois de estudar contratos inteligentes o dia todo, é hora de começar do front-end?
Ver originalResponder0
MetaverseLandladyvip
· 07-01 16:13
As taxas de transação não podem ser melhores do que as que a nossa senhorinha de aluguel está a ganhar, que já quase foram todas feitas as pessoas de parvas.
Ver originalResponder0
ChainMelonWatchervip
· 07-01 16:12
A taxa de serviço é mesmo um imposto de inteligência, não é?
Ver originalResponder0
GasFeeCriervip
· 07-01 16:04
Mais uma vez a moeda gás está alta. Quando é que vai ficar mais barata?
Ver originalResponder0
FlashLoanKingvip
· 07-01 15:54
Morrendo de rir, de novo a competir com contratos inteligentes
Ver originalResponder0
  • 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)