No artigo anterior, exploramos como os tokens ERC-20 podem ser negociados através de DEX. Mas como os NFTs que seguem o protocolo ERC-721 podem realizar transações descentralizadas?
Atualmente, a maioria das plataformas de negociação NFT populares utiliza o modo de ordens, semelhante a exibir produtos nas prateleiras para os compradores escolherem. Este artigo irá implementar um sistema básico de negociação NFT descentralizada através da programação de contratos inteligentes e uma interface front-end simples. É importante ressaltar que este artigo é apenas para fins de aprendizado e não é adequado para ambientes de produção.
Introdução ao NFT
NFT é o token não fungível, cada Token é único. Ele segue o protocolo ERC-721, geralmente é exibido em diferentes formas de imagem na carteira, e cada NFT tem uma ID única para distinção.
Devido à singularidade dos NFTs, não é possível precificá-los da mesma forma que os tokens ERC-20 através de curvas de preços. Assim, as transações de NFT geralmente utilizam um formato de livro de ordens.
Modo de Negociação de Livro de Ordens
No modo de livro de ordens, o preço dos produtos é definido pelo vendedor, e não calculado por algoritmos. Geralmente, existem duas formas de negociação:
Ordem de Preço: o vendedor define o preço de venda, o comprador pode comprar se achar adequado.
Ordem de compra: O comprador publica uma ordem de compra, o vendedor pode vender se achar o preço adequado.
Este artigo irá focar na primeira forma de negociação com preços.
Funcionalidades Básicas do Exchange NFT
Um exchange NFT básico deve conter as seguintes funcionalidades:
Listar produtos: colocar o NFT à venda pelo preço definido
Comprar produtos: comprar ao preço do NFT
Cobrança de taxas: cobrada proporcionalmente ao preço de transação
processo de listagem
O usuário seleciona um NFT na interface e define o preço.
O usuário autoriza o contrato a operar seu NFT
Registar as informações de listagem no contrato
Processo de Compra
O utilizador seleciona o NFT na interface e clica em comprar
O contrato transfere os fundos do comprador para o vendedor e transfere o NFT para o comprador.
Implementar um DEX de NFT
Abaixo, vamos implementar uma simples exchange NFT do zero.
1. Criar NFT de teste
Para facilitar os testes, podemos usar o Remix para implantar rapidamente um contrato NFT do protocolo ERC-721. Claro que também podemos usar diretamente NFTs existentes para testes.
2. Escrever contratos inteligentes
O contrato precisa implementar as seguintes funcionalidades principais:
2.1 Vendedor coloca NFT à venda
Fluxo:
Verificar a propriedade do NFT
Adicionar registo de listagem
Disparar evento de listagem
2.2 Comprador compra NFT
Fluxo:
Obter informações sobre a listagem de NFT
Calcule e deduza a taxa de serviço
Transferência de propriedade de NFT
Acionar o evento de compra
2.3 Cancelar listagem
Isso é realizado definindo o campo isActive como false.
2.4 Taxa de retirada
O proprietário do contrato pode retirar as taxas acumuladas.
3. Desenvolvimento da interface frontal
Utilize as seguintes ferramentas:
Ant Design Web3: conectar carteira e exibir NFT
Wagmi: Interação com carteira
Next.js + Vercel: implantar projeto
A interface contém três páginas principais:
Mint: Teste de NFT de Mint
Buy:NFT mercado de troca
Portfolio: Gerir NFT dos usuários
3.1 Conectar carteira
Implementado com 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 contrato e cunhar um NFT.
3.3 Página do Portfólio
Exibir NFTs dos usuários e suportar operações de listagem/deslistagem.
3.4 Página de Compra
Exibir todos os NFTs à venda e suportar a função de compra.
Através dos passos acima, conseguimos implementar um DEX NFT com funcionalidades básicas. Por fim, o projeto pode ser implantado no Vercel para uso online.
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.
9 Curtidas
Recompensa
9
7
Compartilhar
Comentário
0/400
ChainMaskedRider
· 08-04 18:11
Este artigo só diz asneiras, é como se não dissesse nada.
Ver originalResponder0
CommunityWorker
· 08-04 01:49
Quem quer usar um dex sem gás?
Ver originalResponder0
MelonField
· 08-02 21:21
Uau, este artigo está escrito de forma fácil!
Ver originalResponder0
GmGmNoGn
· 08-02 21:21
懒得学代码 还是去Cupões de Recorte吧
Ver originalResponder0
ILCollector
· 08-02 21:03
Ah ah ah, já há uma nova coleção que vai fazer as pessoas de parvas.
Ver originalResponder0
RugPullProphet
· 08-02 21:00
Tem mãos, está tudo bem. Vamos começar com respeito.
Ver originalResponder0
LazyDevMiner
· 08-02 20:53
O front-end está mal feito, como é que não é usado na produção?
De 0 a 1: Guia Completo para Construir um DEX de NFT
Criar um DEX de NFT do zero
No artigo anterior, exploramos como os tokens ERC-20 podem ser negociados através de DEX. Mas como os NFTs que seguem o protocolo ERC-721 podem realizar transações descentralizadas?
Atualmente, a maioria das plataformas de negociação NFT populares utiliza o modo de ordens, semelhante a exibir produtos nas prateleiras para os compradores escolherem. Este artigo irá implementar um sistema básico de negociação NFT descentralizada através da programação de contratos inteligentes e uma interface front-end simples. É importante ressaltar que este artigo é apenas para fins de aprendizado e não é adequado para ambientes de produção.
Introdução ao NFT
NFT é o token não fungível, cada Token é único. Ele segue o protocolo ERC-721, geralmente é exibido em diferentes formas de imagem na carteira, e cada NFT tem uma ID única para distinção.
Devido à singularidade dos NFTs, não é possível precificá-los da mesma forma que os tokens ERC-20 através de curvas de preços. Assim, as transações de NFT geralmente utilizam um formato de livro de ordens.
Modo de Negociação de Livro de Ordens
No modo de livro de ordens, o preço dos produtos é definido pelo vendedor, e não calculado por algoritmos. Geralmente, existem duas formas de negociação:
Este artigo irá focar na primeira forma de negociação com preços.
Funcionalidades Básicas do Exchange NFT
Um exchange NFT básico deve conter as seguintes funcionalidades:
processo de listagem
Processo de Compra
Implementar um DEX de NFT
Abaixo, vamos implementar uma simples exchange NFT do zero.
1. Criar NFT de teste
Para facilitar os testes, podemos usar o Remix para implantar rapidamente um contrato NFT do protocolo ERC-721. Claro que também podemos usar diretamente NFTs existentes para testes.
2. Escrever contratos inteligentes
O contrato precisa implementar as seguintes funcionalidades principais:
2.1 Vendedor coloca NFT à venda
Fluxo:
2.2 Comprador compra NFT
Fluxo:
2.3 Cancelar listagem
Isso é realizado definindo o campo isActive como false.
2.4 Taxa de retirada
O proprietário do contrato pode retirar as taxas acumuladas.
3. Desenvolvimento da interface frontal
Utilize as seguintes ferramentas:
A interface contém três páginas principais:
3.1 Conectar carteira
Implementado com 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 contrato e cunhar um NFT.
3.3 Página do Portfólio
Exibir NFTs dos usuários e suportar operações de listagem/deslistagem.
3.4 Página de Compra
Exibir todos os NFTs à venda e suportar a função de compra.
Através dos passos acima, conseguimos implementar um DEX NFT com funcionalidades básicas. Por fim, o projeto pode ser implantado no Vercel para uso online.