Construir uma plataforma de negociação NFT de Descentralização do zero
Para NFTs do protocolo ERC-721, como implementar a Descentralização na negociação? Atualmente, as principais plataformas de negociação de NFT utilizam o método de ordem pendente para transações, semelhante a colocar produtos nas prateleiras de um supermercado, onde o comprador pode comprar diretamente se achar o preço adequado. Este artigo irá desenvolver um plataforma básica de negociação descentralizada de NFT através da criação de contratos inteligentes e uma simples página de front-end.
NFT(Token Não Fungível)Introdução
NFT é um token não fungível, cada Token é único, seguindo o protocolo ERC-721. Em geral, cada NFT exibirá imagens diferentes na carteira, e cada conjunto de NFTs possui um ID único para distinção.
Devido às características dos NFTs, não é possível definir preços através de curvas de preços como os tokens ERC-20. Assim, a forma de negociação mais comum atualmente é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
O modo de livro de ordens, simplificadamente, é aquele em que os preços dos produtos são definidos por pessoas, diferindo do método de cálculo de preços através de curvas de preços. O livro de ordens geralmente tem dois modos de negociação:
Ordem de preço: o vendedor define o preço de venda, e o comprador pode comprar diretamente se achar adequado.
Ordem de compra: O comprador emite uma ordem de compra, o vendedor pode vender se achar que o preço é adequado.
Em geral, o preço das ordens de compra será inferior ao preço das ordens de venda. Este artigo apresenta principalmente o modo de ordens de venda.
Funções básicas da plataforma NFT
Uma plataforma básica de NFT deve incluir as seguintes funcionalidades:
Colocar produtos à venda: Colocar o NFT à venda de acordo com o preço definido.
Comprar produtos: adquirir com base no preço do NFT
Taxa de plataforma: cobrada proporcionalmente ao preço de negociação.
processo de listagem de produtos
Frontend: O usuário escolhe o NFT e define o preço, clicando em listar.
Contrato: o usuário autoriza a operação de NFT do contrato
É necessário manter uma tabela de mapeamento de preços dos produtos listados pelos usuários no contrato. Esta parte dos dados também pode ser armazenada em um serviço centralizado para aliviar a carga do contrato, mas neste artigo será armazenada diretamente no contrato.
Processo de compra de produtos
Frontend: O usuário escolhe o NFT que deseja comprar e clica em comprar
Contrato: Transferir os fundos do comprador para o vendedor, NFT para o comprador
Implementar uma plataforma de negociação NFT
1. Criar NFT de teste
Pode rapidamente implantar um contrato NFT do protocolo ERC-721 para testes através do Remix.
2. Escrever contratos inteligentes
O contrato deve incluir as seguintes funcionalidades principais:
2.1 Vendedor coloca NFT à venda
Fluxo:
O utilizador escolhe NFT
Definir o preço ( pode ser cotado em USDT, USDC ou ETH )
Autorizar NFT ao contrato
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
2.2 Comprador compra NFT
Fluxo:
Ler dados de NFT a partir das listagens
Calcular e deduzir a taxa de serviço
Transferir NFT para o comprador
Disparar evento de compra
2.3 Cancelar listagem
Defina o campo isActive correspondente ao NFT em listings como false.
2.4 Taxa de retirada
Retire as taxas acumuladas no contrato para o endereço especificado.
3. Desenvolvimento da interface frontal
Utilize as seguintes ferramentas:
Ant Design Web3: conectar carteira e exibir NFT
Wagmi: Interagir com a carteira
Next.js + Vercel: implantação do projeto
A interface contém três páginas principais:
Mint: utilizado para a criação de NFT de teste
Comprar: mercado de negociação NFT, pode comprar NFT
Portfolio: Gerir NFTs dos utilizadores, suportar a listagem e a deslistagem.
3.1 Conectar carteira
Implementar usando o componente de conexão do Ant Design Web3.
3.2 Página de Mint
Utilize o método useWriteContract do wagmi para chamar o método mint do contrato NFT.
3.3 Página do Portfólio
Exibir NFT do usuário, suportar operações de listagem e deslistagem.
Ao listar, chame o método listNFT, e ao cancelar, chame o método cancelListing. Antes de listar, é necessário autorizar o NFT ao contrato.
3.4 Página de Compra
Exibir todos os NFTs listados, chamar o método purchaseNFT para realizar a compra.
Até aqui, uma plataforma básica de negociação NFT descentralizada foi concluída. O projeto pode ser implantado no 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.
Do zero ao um: construção do processo completo da plataforma de negociação NFT de Descentralização.
Construir uma plataforma de negociação NFT de Descentralização do zero
Para NFTs do protocolo ERC-721, como implementar a Descentralização na negociação? Atualmente, as principais plataformas de negociação de NFT utilizam o método de ordem pendente para transações, semelhante a colocar produtos nas prateleiras de um supermercado, onde o comprador pode comprar diretamente se achar o preço adequado. Este artigo irá desenvolver um plataforma básica de negociação descentralizada de NFT através da criação de contratos inteligentes e uma simples página de front-end.
NFT(Token Não Fungível)Introdução
NFT é um token não fungível, cada Token é único, seguindo o protocolo ERC-721. Em geral, cada NFT exibirá imagens diferentes na carteira, e cada conjunto de NFTs possui um ID único para distinção.
Devido às características dos NFTs, não é possível definir preços através de curvas de preços como os tokens ERC-20. Assim, a forma de negociação mais comum atualmente é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
O modo de livro de ordens, simplificadamente, é aquele em que os preços dos produtos são definidos por pessoas, diferindo do método de cálculo de preços através de curvas de preços. O livro de ordens geralmente tem dois modos de negociação:
Ordem de preço: o vendedor define o preço de venda, e o comprador pode comprar diretamente se achar adequado.
Ordem de compra: O comprador emite uma ordem de compra, o vendedor pode vender se achar que o preço é adequado.
Em geral, o preço das ordens de compra será inferior ao preço das ordens de venda. Este artigo apresenta principalmente o modo de ordens de venda.
Funções básicas da plataforma NFT
Uma plataforma básica de NFT deve incluir as seguintes funcionalidades:
processo de listagem de produtos
É necessário manter uma tabela de mapeamento de preços dos produtos listados pelos usuários no contrato. Esta parte dos dados também pode ser armazenada em um serviço centralizado para aliviar a carga do contrato, mas neste artigo será armazenada diretamente no contrato.
Processo de compra de produtos
Implementar uma plataforma de negociação NFT
1. Criar NFT de teste
Pode rapidamente implantar um contrato NFT do protocolo ERC-721 para testes através do Remix.
2. Escrever contratos inteligentes
O contrato deve incluir as seguintes funcionalidades principais:
2.1 Vendedor coloca NFT à venda
Fluxo:
Métodos de listagem necessários:
2.2 Comprador compra NFT
Fluxo:
2.3 Cancelar listagem
Defina o campo isActive correspondente ao NFT em listings como false.
2.4 Taxa de retirada
Retire as taxas acumuladas no contrato para o endereço especificado.
3. Desenvolvimento da interface frontal
Utilize as seguintes ferramentas:
A interface contém três páginas principais:
3.1 Conectar carteira
Implementar usando o componente de conexão do Ant Design Web3.
3.2 Página de Mint
Utilize o método useWriteContract do wagmi para chamar o método mint do contrato NFT.
3.3 Página do Portfólio
Exibir NFT do usuário, suportar operações de listagem e deslistagem.
Ao listar, chame o método listNFT, e ao cancelar, chame o método cancelListing. Antes de listar, é necessário autorizar o NFT ao contrato.
3.4 Página de Compra
Exibir todos os NFTs listados, chamar o método purchaseNFT para realizar a compra.
Até aqui, uma plataforma básica de negociação NFT descentralizada foi concluída. O projeto pode ser implantado no Vercel para testes e uso.