Implementar uma plataforma de negociação NFT de Descentralização do zero
Para NFTs que seguem o protocolo ERC-721, a forma de realizar transações descentralizadas é diferente da dos tokens ERC-20. Atualmente, as plataformas de negociação de NFT mais populares utilizam um método de listagem para realizar transações, semelhante a exibir produtos em uma prateleira para que os compradores escolham. Este artigo apresentará como implementar a negociação descentralizada de NFTs através da escrita de contratos inteligentes e uma interface simples de frontend. Por favor, note que o conteúdo deste artigo é apenas para fins de aprendizado e não é adequado para ambientes de produção reais.
Introdução ao NFT
NFT (token não fungível) é um ativo digital único que segue o protocolo ERC-721. Cada NFT possui sua singularidade, geralmente exibida em diferentes formas de imagem na carteira, e possui um identificador único. Devido à natureza especial dos NFTs, não é possível definir um preço por meio de curvas de preço como os tokens ERC-20, sendo assim, a forma comum de negociação é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
O modo de negociação de livro de ordens é principalmente dividido em duas categorias:
Ordem de preços: O vendedor define um preço fixo, e o comprador compra diretamente após aceitar.
Pedido de compra: O comprador publica uma necessidade de compra, e o vendedor completa a transação após a aceitação.
Este artigo se concentrará no método de negociação de ordens de preço.
NFT Descentralização plataforma core funcionalidades
Uma plataforma básica de NFT de Descentralização deve incluir as seguintes funcionalidades:
Listagem de produtos: permite que os usuários definam preços e listem NFTs
Compra de produtos: os usuários podem comprar NFT a um preço definido.
Taxa da plataforma: Cobrança de uma certa porcentagem da taxa de transação com base no preço de negociação.
processo de listagem de produtos
Front-end: O usuário escolhe o NFT e define o preço, clica em listar.
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 opta por mantê-los dentro do contrato.
processo de compra de produtos
Front-end: O usuário escolhe o NFT que deseja comprar e clica em comprar.
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.
Implementar uma plataforma de negociação NFT descentralizada
A seguir, vamos implementar uma plataforma de negociação NFT de Descentralização a partir do zero.
1. Criar NFT
Para fins de teste, podemos usar o Remix para implementar rapidamente um contrato NFT que esteja em conformidade com o protocolo ERC-721. Também podemos optar por usar um NFT pré-preparado.
2. Redação de contrato
O contrato deve incluir os seguintes métodos principais:
2.1 Vendedor lista NFT
O método de listagem deve completar as seguintes tarefas:
Verificar a propriedade do NFT
Adicionar registo de listagem
Disparar evento de listagem
2.2 Comprador compra NFT
Para comprar, execute os seguintes passos:
Ler os dados NFT do registro de listagem
Calcular e deduzir a taxa de serviço
Transferir NFT para o comprador
Disparar evento de compra
2.3 Cancelar listagem
A funcionalidade de cancelamento da listagem é realizada definindo o campo isActive no registro de listagem como false.
2.4 Taxa de extração
A plataforma pode cobrar taxas de transação e armazená-las no contrato ou transferi-las para um endereço designado.
3. Desenvolvimento Front-end
O desenvolvimento frontend requer o uso das seguintes ferramentas:
Ant Design Web3: para conexão de carteira e exibição de NFT
Wagmi: usado para interagir com a carteira
Nextjs + Vercel: para implantação de projetos
A aplicação front-end contém três páginas principais: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilizar os componentes fornecidos pelo Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Implementar a funcionalidade de mintagem de NFT, utilizando o método useWriteContract da wagmi para interagir com o contrato.
3.3 Página do Portfólio
Exibir os NFTs que o usuário possui, suportando operações de listagem e deslistagem. Usar a API OpenSea para obter a lista de NFTs do usuário e determinar o estado de listagem do NFT através do método do contrato.
3.4 Página de Compra
Exibir todos os NFTs listados e fornecer a função de compra. Ao comprar, chame o método purchaseNFT do contrato e pague com ETH.
Após completar os passos acima, uma plataforma de negociação NFT com funções básicas foi estabelecida. Pode ser implantada na plataforma Vercel para exibição e uso.
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.
26 Curtidas
Recompensa
26
7
Repostar
Compartilhar
Comentário
0/400
HashRatePhilosopher
· 08-13 02:28
Sinto que todos estão a competir com os NFTs. Fugi, fugi.
Ver originalResponder0
MaticHoleFiller
· 08-12 17:52
Coisa de enganar, não é melhor copiar um pouco do opensea?
Ver originalResponder0
ImpermanentLossEnjoyer
· 08-11 23:17
Perda impermanente é outra forma de dizer que se perde moeda sem motivo.
Ver originalResponder0
UnluckyMiner
· 08-10 13:39
Há um novo projeto a ser explorado, vamos lá!
Ver originalResponder0
BearMarketSurvivor
· 08-10 13:38
Segue a brincar com um tokens meme.
Ver originalResponder0
SchroedingerAirdrop
· 08-10 13:38
Outra armadilha de NFT, quem vai apanhar uma faca a cair do scamcoin?
Do zero a um guia completo para construir uma plataforma de negociação NFT descentralizada
Implementar uma plataforma de negociação NFT de Descentralização do zero
Para NFTs que seguem o protocolo ERC-721, a forma de realizar transações descentralizadas é diferente da dos tokens ERC-20. Atualmente, as plataformas de negociação de NFT mais populares utilizam um método de listagem para realizar transações, semelhante a exibir produtos em uma prateleira para que os compradores escolham. Este artigo apresentará como implementar a negociação descentralizada de NFTs através da escrita de contratos inteligentes e uma interface simples de frontend. Por favor, note que o conteúdo deste artigo é apenas para fins de aprendizado e não é adequado para ambientes de produção reais.
Introdução ao NFT
NFT (token não fungível) é um ativo digital único que segue o protocolo ERC-721. Cada NFT possui sua singularidade, geralmente exibida em diferentes formas de imagem na carteira, e possui um identificador único. Devido à natureza especial dos NFTs, não é possível definir um preço por meio de curvas de preço como os tokens ERC-20, sendo assim, a forma comum de negociação é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
O modo de negociação de livro de ordens é principalmente dividido em duas categorias:
Este artigo se concentrará no método de negociação de ordens de preço.
NFT Descentralização plataforma core funcionalidades
Uma plataforma básica de NFT de Descentralização deve incluir as seguintes funcionalidades:
processo de listagem de produtos
É 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 opta por mantê-los dentro do contrato.
processo de compra de produtos
Implementar uma plataforma de negociação NFT descentralizada
A seguir, vamos implementar uma plataforma de negociação NFT de Descentralização a partir do zero.
1. Criar NFT
Para fins de teste, podemos usar o Remix para implementar rapidamente um contrato NFT que esteja em conformidade com o protocolo ERC-721. Também podemos optar por usar um NFT pré-preparado.
2. Redação de contrato
O contrato deve incluir os seguintes métodos principais:
2.1 Vendedor lista NFT
O método de listagem deve completar as seguintes tarefas:
2.2 Comprador compra NFT
Para comprar, execute os seguintes passos:
2.3 Cancelar listagem
A funcionalidade de cancelamento da listagem é realizada definindo o campo isActive no registro de listagem como false.
2.4 Taxa de extração
A plataforma pode cobrar taxas de transação e armazená-las no contrato ou transferi-las para um endereço designado.
3. Desenvolvimento Front-end
O desenvolvimento frontend requer o uso das seguintes ferramentas:
A aplicação front-end contém três páginas principais: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilizar os componentes fornecidos pelo Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Implementar a funcionalidade de mintagem de NFT, utilizando o método useWriteContract da wagmi para interagir com o contrato.
3.3 Página do Portfólio
Exibir os NFTs que o usuário possui, suportando operações de listagem e deslistagem. Usar a API OpenSea para obter a lista de NFTs do usuário e determinar o estado de listagem do NFT através do método do contrato.
3.4 Página de Compra
Exibir todos os NFTs listados e fornecer a função de compra. Ao comprar, chame o método purchaseNFT do contrato e pague com ETH.
Após completar os passos acima, uma plataforma de negociação NFT com funções básicas foi estabelecida. Pode ser implantada na plataforma Vercel para exibição e uso.