Implementar uma plataforma de negociação NFT Descentralização do zero
Para os NFTs do protocolo ERC-721, como implementar a Descentralização nas transações? Atualmente, as principais plataformas de negociação de NFTs utilizam um método de ordens, semelhante a exibir produtos nas prateleiras de um supermercado, onde os compradores podem adquirir se acharem o preço adequado.
Este artigo irá implementar a negociação descentralizada de NFTs através da escrita de contratos inteligentes e de uma página de front-end simples. É importante notar que o conteúdo deste artigo é apenas para referência de aprendizagem e não é adequado para uso direto em ambiente de produção.
NFT(Token Não Fungível)Introdução
NFT é um token não fungível, que segue o protocolo ERC-721, onde cada Token é único. Os NFTs normalmente exibem imagens diferentes na carteira, e cada conjunto de NFTs tem um ID exclusivo para diferenciação.
Devido às características dos NFTs, não é possível definir preços através de curvas de preço como nos tokens ERC-20. Portanto, o método de negociação mais comum atualmente é na forma de livro de ordens.
Modo de Negociação de Livro de Ordens
No modo de livro de ordens, o preço dos produtos é definido por pessoas, ao contrário de alguns DEX que calculam o preço através de curvas de preço. O livro de ordens geralmente é dividido em dois modos de negociação:
Ordem de preço: o vendedor define o preço de venda, e o comprador pode comprar se achar adequado.
Pedido de compra: O comprador emite uma ordem de compra, e o vendedor pode vender se achar o preço adequado.
Normalmente, o preço de uma ordem de compra será inferior ao preço de uma ordem de venda. Este artigo apresenta principalmente o modo de negociação de ordens de venda.
Funcionalidades básicas da plataforma de negociação NFT Descentralização
Uma plataforma básica de negociação de NFT Descentralização deve incluir as seguintes funcionalidades:
Listar produto: colocar o NFT à venda de acordo com o preço definido
Comprar produto: efetuar a compra com base no preço do NFT
Cobrança de taxas: cobrada com base na proporção do preço de execução
processo de listagem de produtos
Frontend: O utilizador escolhe o NFT e define o preço, clica em listar.
Contrato: o usuário autoriza a operação do NFT
É necessário manter uma tabela de mapeamento dos 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 este artigo irá mantê-la dentro do contrato.
Processo de compra de produtos
Front-end: O usuário escolhe o NFT que deseja comprar e clica em comprar
Contrato: Transferir os fundos do usuário para o vendedor, NFT para o comprador
Implementar uma plataforma de negociação NFT Descentralização
Esta seção irá implementar uma plataforma de negociação NFT Descentralização a partir do zero.
1. Criar contrato NFT
Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT do protocolo ERC-721. Claro que também podemos usar um contrato NFT já preparado.
2. Redigir contrato de plataforma de negociação
Os contratos da plataforma de negociação devem incluir os seguintes métodos principais:
2.1 Vendedor coloca NFT à venda
Processo de listagem:
O usuário escolhe NFT
Definir preço ( em moedas estáveis ou em ETH )
Autorizar NFT para o contrato
O método de listagem requer:
Verificar a propriedade do NFT
Adicionar registo de listagem
Acionar o evento de listagem
2.2 Comprador compra NFT
Processo de compra:
Ler dados NFT a partir das listings
Calcular e deduzir a taxa de serviço
Transferir NFT para o comprador
Acionar evento de compra
2.3 Cancelar a listagem
Defina o campo isActive correspondente ao NFT em listings como false.
2.4 Taxa de extração
Retirar as taxas acumuladas no contrato para o endereço especificado.
3. Desenvolvimento da plataforma de negociação front-end
Ferramentas principais utilizadas:
Ant Design Web3: conectar carteira, exibir cartões NFT
Wagmi: Interação com a carteira
Next.js + Vercel: implantação do projeto
A interface deve incluir três páginas: Mint, Buy e Portfolio.
3.1 Conectar carteira
Usar o componente de conexão do Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Utilizado para a cunhagem de NFT de teste, chamando o método useWriteContract da wagmi para interagir com o contrato.
3.3 Página de Portfólio
Gerir os NFTs dos utilizadores, implementar a funcionalidade de listar e deslistar. Utilizar a API do opensea para obter a lista de NFTs dos utilizadores e chamar o contrato para verificar o estado de listagem do NFT.
3.4 Página de Compra
Exibir todos os NFTs listados, implementar a funcionalidade de compra. Chamar o método purchaseNFT do contrato para concluir a transação.
Após completar os passos acima, uma plataforma de negociação descentralizada básica de NFT foi implementada. Pode ser implantada em plataformas como Vercel para acesso e uso.
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.
12 gostos
Recompensa
12
3
Partilhar
Comentar
0/400
NFTArchaeologis
· 07-05 06:00
Uma simples tentativa de desenvolvimento por um entusiasta de arqueologia experiente.
Ver originalResponder0
DefiEngineerJack
· 07-05 05:57
*suspiro* outro tutorial que ignora a verificação formal...
Ver originalResponder0
CommunityWorker
· 07-05 05:57
Aprender é uma besteira, a prática é que é a verdadeira verdade.
Guia completo para construir uma plataforma de negociação NFT descentralizada do zero
Implementar uma plataforma de negociação NFT Descentralização do zero
Para os NFTs do protocolo ERC-721, como implementar a Descentralização nas transações? Atualmente, as principais plataformas de negociação de NFTs utilizam um método de ordens, semelhante a exibir produtos nas prateleiras de um supermercado, onde os compradores podem adquirir se acharem o preço adequado.
Este artigo irá implementar a negociação descentralizada de NFTs através da escrita de contratos inteligentes e de uma página de front-end simples. É importante notar que o conteúdo deste artigo é apenas para referência de aprendizagem e não é adequado para uso direto em ambiente de produção.
NFT(Token Não Fungível)Introdução
NFT é um token não fungível, que segue o protocolo ERC-721, onde cada Token é único. Os NFTs normalmente exibem imagens diferentes na carteira, e cada conjunto de NFTs tem um ID exclusivo para diferenciação.
Devido às características dos NFTs, não é possível definir preços através de curvas de preço como nos tokens ERC-20. Portanto, o método de negociação mais comum atualmente é na forma de livro de ordens.
Modo de Negociação de Livro de Ordens
No modo de livro de ordens, o preço dos produtos é definido por pessoas, ao contrário de alguns DEX que calculam o preço através de curvas de preço. O livro de ordens geralmente é dividido em dois modos de negociação:
Ordem de preço: o vendedor define o preço de venda, e o comprador pode comprar se achar adequado.
Pedido de compra: O comprador emite uma ordem de compra, e o vendedor pode vender se achar o preço adequado.
Normalmente, o preço de uma ordem de compra será inferior ao preço de uma ordem de venda. Este artigo apresenta principalmente o modo de negociação de ordens de venda.
Funcionalidades básicas da plataforma de negociação NFT Descentralização
Uma plataforma básica de negociação de NFT Descentralização deve incluir as seguintes funcionalidades:
processo de listagem de produtos
É necessário manter uma tabela de mapeamento dos 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 este artigo irá mantê-la dentro do contrato.
Processo de compra de produtos
Implementar uma plataforma de negociação NFT Descentralização
Esta seção irá implementar uma plataforma de negociação NFT Descentralização a partir do zero.
1. Criar contrato NFT
Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT do protocolo ERC-721. Claro que também podemos usar um contrato NFT já preparado.
2. Redigir contrato de plataforma de negociação
Os contratos da plataforma de negociação devem incluir os seguintes métodos principais:
2.1 Vendedor coloca NFT à venda
Processo de listagem:
O método de listagem requer:
2.2 Comprador compra NFT
Processo de compra:
2.3 Cancelar a listagem
Defina o campo isActive correspondente ao NFT em listings como false.
2.4 Taxa de extração
Retirar as taxas acumuladas no contrato para o endereço especificado.
3. Desenvolvimento da plataforma de negociação front-end
Ferramentas principais utilizadas:
A interface deve incluir três páginas: Mint, Buy e Portfolio.
3.1 Conectar carteira
Usar o componente de conexão do Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Utilizado para a cunhagem de NFT de teste, chamando o método useWriteContract da wagmi para interagir com o contrato.
3.3 Página de Portfólio
Gerir os NFTs dos utilizadores, implementar a funcionalidade de listar e deslistar. Utilizar a API do opensea para obter a lista de NFTs dos utilizadores e chamar o contrato para verificar o estado de listagem do NFT.
3.4 Página de Compra
Exibir todos os NFTs listados, implementar a funcionalidade de compra. Chamar o método purchaseNFT do contrato para concluir a transação.
Após completar os passos acima, uma plataforma de negociação descentralizada básica de NFT foi implementada. Pode ser implantada em plataformas como Vercel para acesso e uso.