Leitores que já leram os artigos anteriores devem entender que, para tokens do protocolo ERC-20, podemos negociar através de algum DEX. Mas como podemos realizar transações descentralizadas para o protocolo ERC-721, que é o NFT?
Atualmente, as principais plataformas de negociação de NFT utilizam o método de ordens, semelhante a exibir produtos nas prateleiras de um supermercado, onde os compradores podem comprar se acharem que o preço é adequado.
Este artigo irá implementar a negociação descentralizada de NFT 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 aprendizado e não é adequado para ambientes de produção.
NFT( token não fungível )
NFT é um token não fungível, que segue o protocolo ERC-721, onde cada Token é único. Normalmente, os NFTs exibem imagens diferentes na carteira, e cada conjunto de NFTs possui um ID exclusivo para distinção.
Devido às características dos NFTs, não é possível definir preços através de curvas de preço como nos ERC-20. O método de negociação mais comum atualmente é na forma de livro de ordens.
Negociação de Livro de Ordens
O modo de livro de ordens, de forma simples, é quando os preços dos produtos são definidos por humanos, ao contrário de alguns DEX que calculam os preços através de curvas de preço. 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 se achar apropriado.
Pedido de compra: O comprador envia uma ordem de compra, e o vendedor pode vender se achar o preço adequado.
Normalmente, o preço da ordem de compra será inferior ao preço da ordem de venda. Este artigo apresenta apenas o primeiro método de precificação.
Funções básicas do NFT DEX
Um DEX NFT deve incluir as seguintes funcionalidades básicas:
Colocar produtos à venda: Listar NFTs ao preço definido
Comprar produtos: realizar a compra com base no preço do NFT
Taxa de DEX: Cobrança de taxa com base na proporção do preço de transação
produto listado
Para listar um produto, é necessário completar:
Front-end: o usuário escolhe o NFT e define o preço, clica em listar.
Contrato: Usuário autoriza operação de contrato NFT.
É necessário manter um mapa de preços de produtos listados pelos usuários no contrato, que pode ser armazenado em um serviço centralizado para aliviar a carga do contrato; neste artigo, será salvo dentro do contrato.
comprar produtos
Ao comprar produtos, poderá ocorrer:
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 NFT DEX
Vamos implementar um DEX de NFT do zero.
1. Criar NFT
Para fins de teste, podemos criar rapidamente um NFT do protocolo ERC-721 através do Remix. Também podemos pular esta etapa e usar um NFT existente.
2. Redação de contratos
Os métodos de contrato devem incluir:
2.1 Vendedor coloca NFT à venda
Fluxo:
O usuário escolhe NFT
Defina o preço ( em stablecoins ou ETH )
Autorizar NFT ao contrato
O método de listagem requer:
Verificar a propriedade do NFT
Adicionar registo de listagem
Acionar evento de listagem
2.2 Comprador compra NFT
Passos de execução do contrato:
Ler dados NFT
Calcular e deduzir a taxa de serviço
Transferir NFT para o comprador
Acionar evento de compra
2.3 Cancelar listagem
Defina o campo isActive do registro de listagem como false.
2.4 Taxa de retirada
A DEX pode cobrar uma taxa de transação em cada negociação, depositando em contrato ou transferindo para um endereço designado. Este artigo utiliza o método de depósito em contrato.
3. Desenvolvimento de Frontend DEX
Usar ferramenta:
Ant Design Web3: conectar carteira e exibir cartões NFT
Wagmi: Interação com a carteira
Nextjs + Vercel: implementar projeto
A interface inclui três páginas: Mint, Buy e Portfolio.
3.1 Conectar Wallet
Usar o componente de conexão Ant Design Web3 para implementar a conexão da carteira.
3.2 Mint
Usar o método useWriteContract do wagmi para implementar a cunhagem de NFT.
3.3 Portfólio
Exibir NFTs dos usuários, suportando operações de listagem e deslistagem. Usar a API do opensea para obter a lista de NFTs, através do contrato verificar se já está listado.
3.4 Comprar
Exibir NFTs listados, suportar operações de compra. Chamar o método purchaseNFT para concluir a transação.
Até aqui, uma página front-end de NFT DEX com funcionalidades básicas foi concluída e pode ser implantada no Vercel.
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.
22 gostos
Recompensa
22
8
Republicar
Partilhar
Comentar
0/400
AirdropHunterKing
· 08-09 19:23
gás subiu às alturas, pare de estudar essas coisas.
Ver originalResponder0
CryptoPhoenix
· 08-08 21:10
A zona inferior é realmente o melhor momento para desenvolvimento, ah! Tenha paciência e espere pelos frutos.
Ver originalResponder0
LiquidityOracle
· 08-07 16:48
Hã? Criaram mais um exchange de nft?
Ver originalResponder0
GateUser-afe07a92
· 08-07 02:57
Finalmente consigo vender os MONKY que tinha guardados.
Ver originalResponder0
LiquidityWitch
· 08-07 02:56
preparando um pouco de magia dex proibida... não vou mentir, esta estrutura de mercado precisa de um upgrade com um ritual sombrio de verdade
Construindo um DEX NFT do zero: Guia de desenvolvimento de contratos e front-end
Construir um DEX de NFT do zero
Leitores que já leram os artigos anteriores devem entender que, para tokens do protocolo ERC-20, podemos negociar através de algum DEX. Mas como podemos realizar transações descentralizadas para o protocolo ERC-721, que é o NFT?
Atualmente, as principais plataformas de negociação de NFT utilizam o método de ordens, semelhante a exibir produtos nas prateleiras de um supermercado, onde os compradores podem comprar se acharem que o preço é adequado.
Este artigo irá implementar a negociação descentralizada de NFT 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 aprendizado e não é adequado para ambientes de produção.
NFT( token não fungível )
NFT é um token não fungível, que segue o protocolo ERC-721, onde cada Token é único. Normalmente, os NFTs exibem imagens diferentes na carteira, e cada conjunto de NFTs possui um ID exclusivo para distinção.
Devido às características dos NFTs, não é possível definir preços através de curvas de preço como nos ERC-20. O método de negociação mais comum atualmente é na forma de livro de ordens.
Negociação de Livro de Ordens
O modo de livro de ordens, de forma simples, é quando os preços dos produtos são definidos por humanos, ao contrário de alguns DEX que calculam os preços através de curvas de preço. 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 se achar apropriado.
Pedido de compra: O comprador envia uma ordem de compra, e o vendedor pode vender se achar o preço adequado.
Normalmente, o preço da ordem de compra será inferior ao preço da ordem de venda. Este artigo apresenta apenas o primeiro método de precificação.
Funções básicas do NFT DEX
Um DEX NFT deve incluir as seguintes funcionalidades básicas:
produto listado
Para listar um produto, é necessário completar:
É necessário manter um mapa de preços de produtos listados pelos usuários no contrato, que pode ser armazenado em um serviço centralizado para aliviar a carga do contrato; neste artigo, será salvo dentro do contrato.
comprar produtos
Ao comprar produtos, poderá ocorrer:
Implementar NFT DEX
Vamos implementar um DEX de NFT do zero.
1. Criar NFT
Para fins de teste, podemos criar rapidamente um NFT do protocolo ERC-721 através do Remix. Também podemos pular esta etapa e usar um NFT existente.
2. Redação de contratos
Os métodos de contrato devem incluir:
2.1 Vendedor coloca NFT à venda
Fluxo:
O método de listagem requer:
2.2 Comprador compra NFT
Passos de execução do contrato:
2.3 Cancelar listagem
Defina o campo isActive do registro de listagem como false.
2.4 Taxa de retirada
A DEX pode cobrar uma taxa de transação em cada negociação, depositando em contrato ou transferindo para um endereço designado. Este artigo utiliza o método de depósito em contrato.
3. Desenvolvimento de Frontend DEX
Usar ferramenta:
A interface inclui três páginas: Mint, Buy e Portfolio.
3.1 Conectar Wallet
Usar o componente de conexão Ant Design Web3 para implementar a conexão da carteira.
3.2 Mint
Usar o método useWriteContract do wagmi para implementar a cunhagem de NFT.
3.3 Portfólio
Exibir NFTs dos usuários, suportando operações de listagem e deslistagem. Usar a API do opensea para obter a lista de NFTs, através do contrato verificar se já está listado.
3.4 Comprar
Exibir NFTs listados, suportar operações de compra. Chamar o método purchaseNFT para concluir a transação.
Até aqui, uma página front-end de NFT DEX com funcionalidades básicas foi concluída e pode ser implantada no Vercel.