Construir uma plataforma de troca NFT de Descentralização do zero
Após uma pesquisa aprofundada sobre a Descentralização das transações de tokens ERC-20, não podemos deixar de nos perguntar: como podemos realizar transações descentralizadas do protocolo ERC-721 (ou seja, NFT)?
Atualmente, as principais plataformas de negociação de NFT utilizam um modelo de ordens, semelhante à exibição de produtos nas prateleiras de um supermercado. Os compradores podem comprar diretamente o NFT que consideram com preço adequado.
Este artigo irá guiá-lo passo a passo na construção de uma simples plataforma de negociação NFT Descentralização, incluindo a escrita de contratos inteligentes e o desenvolvimento de uma interface front-end básica. Por favor, note que o conteúdo deste artigo é apenas para referência de aprendizagem e não é adequado para ambientes de produção reais.
Introdução ao NFT
NFT (token não fungível) segue o protocolo ERC-721, onde cada Token é único. Os NFTs são geralmente exibidos nas carteiras em diferentes formas de imagem e possuem um ID exclusivo para distinção.
Devido à singularidade dos NFTs, não é possível precificá-los através de curvas de preços como os tokens ERC-20. Assim, a forma comum de negociação de NFTs é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
As transações em livro de ordens têm principalmente dois modos:
Ordem de precificação: o vendedor define o preço de venda, e o comprador pode comprar se achar adequado.
Pedido de compra: O comprador publica uma ordem de compra, e o vendedor pode vender após aceitar o preço.
Normalmente, o preço da ordem de compra será inferior ao da ordem de preço. Este artigo irá focar no modo de ordem de preço.
NFT Descentralização plataforma core funcionalidade
Uma plataforma básica de negociação descentralizada de NFT deve ter as seguintes funcionalidades:
Listar NFT: permite que os usuários definam preços para listar NFT
Comprar NFT: os usuários podem comprar NFT ao preço definido.
Taxa da plataforma: uma taxa proporcional ao preço da transação é cobrada.
Processo de listagem de NFT
Frontend: O usuário escolhe o NFT e define o preço, clicando 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 os mantém no contrato.
processo de compra de NFT
Frontend: 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.
Construir uma plataforma de negociação NFT descentralizada
A seguir, vamos implementar gradualmente uma plataforma de negociação NFT de Descentralização.
1. Criar NFT de teste
Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT que cumpra o protocolo ERC-721. Claro, também podemos usar diretamente NFTs existentes para testes.
2. Desenvolvimento de contratos inteligentes
Os nossos contratos precisam de incluir as seguintes funcionalidades principais:
2.1 Listagem de NFT
O vendedor precisa especificar o NFT e o preço ao listar o NFT. O processo de listagem inclui:
O usuário escolhe NFT
Definir preço (pode usar USDT, USDC ou ETH)
Autorizar NFT ao contrato
Método de listagem de contratos que deve ser concluído:
Verificar a propriedade do NFT
Adicionar registo de listagem
Disparar o evento de listagem
2.2 Compra de NFT
Quando o comprador adquire um NFT, o contrato deve ser executado:
Ler dados de NFT
Calcular e deduzir a taxa de serviço
Transferir NFT para o comprador
Acionar evento de compra
2.3 Cancelar listagem
O vendedor pode cancelar a listagem do NFT. No contrato, o campo isActive é utilizado para marcar se o produto é válido; ao cancelar a listagem, basta definir esse campo como false.
2.4 Taxa de extração
A plataforma pode cobrar uma taxa em cada transação, neste caso, a taxa é armazenada no contrato.
3. Desenvolvimento Front-end
O desenvolvimento front-end usa as seguintes ferramentas:
Ant Design Web3: usado para conexão de carteira e exibição de NFT
Wagmi: implementar a interação da carteira
Nextjs + Vercel: implantar projeto
A aplicação front-end contém três páginas principais: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilize o componente de conexão do Ant Design Web3 para implementar a funcionalidade de conexão da carteira. Para aumentar a velocidade de consulta, recomenda-se usar serviços de nós como o endpoint da ZAN.
3.2 Página de Mint
Usar o método useWriteContract da wagmi para implementar a funcionalidade de cunhagem de NFT.
3.3 Página do Portfólio
Exibir os NFTs possuídos pelo usuário, suportando operações de listagem e deslistagem. Utilizar a API do opensea para obter a lista de NFTs e determinar o estado de listagem dos NFTs através de métodos de contrato.
3.4 Página de Compra
Mostre todos os NFTs listados e forneça a funcionalidade de compra. Ao comprar, chame o método purchaseNFT e pague com ETH.
Após concluir os passos acima, uma plataforma básica de negociação NFT de Descentralização está construída. Você pode implantá-la em plataformas como 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.
13 gostos
Recompensa
13
6
Partilhar
Comentar
0/400
NotGonnaMakeIt
· 3h atrás
Esta armadilha é realmente boa. Quando será Código aberto?
Ver originalResponder0
SocialFiQueen
· 07-20 02:58
Aproveitar a tendência, certo, já era hora de montar o meu próprio.
Ver originalResponder0
GateUser-ccc36bc5
· 07-20 02:58
Quando é que vai ser Código aberto?
Ver originalResponder0
bridge_anxiety
· 07-20 02:57
ordens em aberto交易老掉牙了
Ver originalResponder0
TokenSherpa
· 07-20 02:43
na verdade, isto é bastante rudimentar... vi implementações melhores durante os meus dias de consultoria em DAO, para ser honesto
Ver originalResponder0
HashBandit
· 07-20 02:40
ainda à espera da escalabilidade l2 para tornar a negociação de nft suportável... essas taxas de gás matam-me a cada vez smh
Guia completo para construir uma plataforma de negociação NFT de Descentralização do zero
Construir uma plataforma de troca NFT de Descentralização do zero
Após uma pesquisa aprofundada sobre a Descentralização das transações de tokens ERC-20, não podemos deixar de nos perguntar: como podemos realizar transações descentralizadas do protocolo ERC-721 (ou seja, NFT)?
Atualmente, as principais plataformas de negociação de NFT utilizam um modelo de ordens, semelhante à exibição de produtos nas prateleiras de um supermercado. Os compradores podem comprar diretamente o NFT que consideram com preço adequado.
Este artigo irá guiá-lo passo a passo na construção de uma simples plataforma de negociação NFT Descentralização, incluindo a escrita de contratos inteligentes e o desenvolvimento de uma interface front-end básica. Por favor, note que o conteúdo deste artigo é apenas para referência de aprendizagem e não é adequado para ambientes de produção reais.
Introdução ao NFT
NFT (token não fungível) segue o protocolo ERC-721, onde cada Token é único. Os NFTs são geralmente exibidos nas carteiras em diferentes formas de imagem e possuem um ID exclusivo para distinção.
Devido à singularidade dos NFTs, não é possível precificá-los através de curvas de preços como os tokens ERC-20. Assim, a forma comum de negociação de NFTs é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
As transações em livro de ordens têm principalmente dois modos:
Normalmente, o preço da ordem de compra será inferior ao da ordem de preço. Este artigo irá focar no modo de ordem de preço.
NFT Descentralização plataforma core funcionalidade
Uma plataforma básica de negociação descentralizada de NFT deve ter as seguintes funcionalidades:
Processo de listagem de 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 os mantém no contrato.
processo de compra de NFT
Construir uma plataforma de negociação NFT descentralizada
A seguir, vamos implementar gradualmente uma plataforma de negociação NFT de Descentralização.
1. Criar NFT de teste
Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT que cumpra o protocolo ERC-721. Claro, também podemos usar diretamente NFTs existentes para testes.
2. Desenvolvimento de contratos inteligentes
Os nossos contratos precisam de incluir as seguintes funcionalidades principais:
2.1 Listagem de NFT
O vendedor precisa especificar o NFT e o preço ao listar o NFT. O processo de listagem inclui:
Método de listagem de contratos que deve ser concluído:
2.2 Compra de NFT
Quando o comprador adquire um NFT, o contrato deve ser executado:
2.3 Cancelar listagem
O vendedor pode cancelar a listagem do NFT. No contrato, o campo isActive é utilizado para marcar se o produto é válido; ao cancelar a listagem, basta definir esse campo como false.
2.4 Taxa de extração
A plataforma pode cobrar uma taxa em cada transação, neste caso, a taxa é armazenada no contrato.
3. Desenvolvimento Front-end
O desenvolvimento front-end usa as seguintes ferramentas:
A aplicação front-end contém três páginas principais: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilize o componente de conexão do Ant Design Web3 para implementar a funcionalidade de conexão da carteira. Para aumentar a velocidade de consulta, recomenda-se usar serviços de nós como o endpoint da ZAN.
3.2 Página de Mint
Usar o método useWriteContract da wagmi para implementar a funcionalidade de cunhagem de NFT.
3.3 Página do Portfólio
Exibir os NFTs possuídos pelo usuário, suportando operações de listagem e deslistagem. Utilizar a API do opensea para obter a lista de NFTs e determinar o estado de listagem dos NFTs através de métodos de contrato.
3.4 Página de Compra
Mostre todos os NFTs listados e forneça a funcionalidade de compra. Ao comprar, chame o método purchaseNFT e pague com ETH.
Após concluir os passos acima, uma plataforma básica de negociação NFT de Descentralização está construída. Você pode implantá-la em plataformas como Vercel para testes e uso.