Criar uma plataforma de negociação NFT de Descentralização do zero
Nas últimas publicações, explorámos como realizar a negociação descentralizada de tokens ERC-20 através de DEX. Mas como é que podemos realizar a negociação descentralizada para NFTs que seguem o protocolo ERC-721?
Atualmente, as principais plataformas de negociação de NFT usam um modelo de ordem pendente para realizar transações, semelhante a produtos expostos nas prateleiras de um supermercado; os compradores podem levar para casa se acharem o preço adequado. Este artigo irá implementar a negociação descentralizada de NFT através da criação de contratos inteligentes e uma página da web simples. É importante notar que o conteúdo deste artigo é apenas para fins de aprendizado e não é adequado para ambientes de produção.
Introdução ao NFT
NFT é um token não fungível, que segue o protocolo ERC-721. Cada NFT é único, geralmente exibido em diferentes formas de imagem na carteira, e possui um ID único para distinção.
Devido às características do NFT, não é possível definir o preço como nos tokens ERC-20 através da curva de preços. Assim, a forma de negociação mais comum atualmente é através de um livro de ordens.
Modo de Negociação do Livro de Ordens
No modo de livro de ordens, o preço dos produtos é definido por pessoas, ao contrário do método que calcula preços através de algoritmos. 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 adequado.
Ordem de compra: O comprador emite uma ordem de compra, o vendedor pode vender se achar o preço adequado.
Em geral, o preço das ordens de compra será inferior ao preço das ordens de venda. Este artigo se concentrará no modo de negociação de preços.
Funções Básicas da Plataforma NFT DEX
Uma plataforma básica de NFT DEX deve incluir as seguintes funcionalidades:
Listar produtos: colocar o NFT à venda pelo preço definido
Comprar produtos: comprar ao preço do NFT
Cobrança de taxa: cobrada proporcionalmente ao preço de transação
processo de listagem de produtos
Frontend: O usuário seleciona o NFT e define o preço, clica em listar.
Contrato: o usuário autoriza o contrato a operar o seu NFT
É necessário manter uma tabela de mapeamento de preços dos produtos listados pelos usuários no contrato. Para aliviar a carga do contrato, esses dados também podem ser armazenados em serviços centralizados.
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
Implementação de DEX NFT
A seguir, vamos implementar um DEX 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 usar um NFT já preparado.
2. Redação de contrato
O contrato deve incluir os seguintes métodos principais:
2.1 Vendedor lista NFT
Fluxo:
O usuário escolhe NFT
Defina o preço ( em stablecoins ou ETH )
Autorizar NFT para o contrato
Chamada do método de listagem
Método de listagem a ser executado:
Verificar a propriedade do NFT
Adicionar registo de listagem
Disparar evento de listagem
2.2 Comprador compra NFT
Após o comprador escolher o NFT e efetuar o pagamento, o contrato é 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
Defina o campo isActive do produto como falso.
2.4 Taxa de retirada
Pode depositar a taxa de transação no contrato ou transferi-la para o endereço designado.
3. Desenvolvimento de frontend DEX
Ferramenta principal utilizada:
Ant Design Web3: conectar carteira, exibir NFT cartões
Wagmi: interagir com a carteira
Nextjs + Vercel: Desdobramento do projeto
A interface deve incluir três páginas: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilize o componente de conexão do Ant Design Web3 para implementar a conexão da carteira.
3.2 Página de Mint
Usar o método useWriteContract do wagmi para implementar a mintagem de NFT.
3.3 Página do Portfólio
Exibir NFTs dos usuários, suportando operações de listagem e deslistagem.
3.4 Página de Compra
Exibir NFTs já listados, suportar operações de compra.
Até aqui, o front-end de uma DEX básica de NFT está concluído. Pode ser implementado no Vercel para acesso.
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.
12 Curtidas
Recompensa
12
4
Repostar
Compartilhar
Comentário
0/400
PoolJumper
· 07-21 17:01
会整是pro
Ver originalResponder0
DogeBachelor
· 07-19 17:08
麻烦companheiro多说点具体咋操作
Ver originalResponder0
BlockTalk
· 07-18 22:22
自己撸合约不如开盒descartar
Ver originalResponder0
ApeDegen
· 07-18 22:22
Finalmente há um tutorial que me ensina a enriquecer!
Construindo uma plataforma de negociação NFT descentralizada do zero: Guia de implementação de contratos inteligentes e front-end
Criar uma plataforma de negociação NFT de Descentralização do zero
Nas últimas publicações, explorámos como realizar a negociação descentralizada de tokens ERC-20 através de DEX. Mas como é que podemos realizar a negociação descentralizada para NFTs que seguem o protocolo ERC-721?
Atualmente, as principais plataformas de negociação de NFT usam um modelo de ordem pendente para realizar transações, semelhante a produtos expostos nas prateleiras de um supermercado; os compradores podem levar para casa se acharem o preço adequado. Este artigo irá implementar a negociação descentralizada de NFT através da criação de contratos inteligentes e uma página da web simples. É importante notar que o conteúdo deste artigo é apenas para fins de aprendizado e não é adequado para ambientes de produção.
Introdução ao NFT
NFT é um token não fungível, que segue o protocolo ERC-721. Cada NFT é único, geralmente exibido em diferentes formas de imagem na carteira, e possui um ID único para distinção.
Devido às características do NFT, não é possível definir o preço como nos tokens ERC-20 através da curva de preços. Assim, a forma de negociação mais comum atualmente é através de um livro de ordens.
Modo de Negociação do Livro de Ordens
No modo de livro de ordens, o preço dos produtos é definido por pessoas, ao contrário do método que calcula preços através de algoritmos. 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 adequado.
Ordem de compra: O comprador emite uma ordem de compra, o vendedor pode vender se achar o preço adequado.
Em geral, o preço das ordens de compra será inferior ao preço das ordens de venda. Este artigo se concentrará no modo de negociação de preços.
Funções Básicas da Plataforma NFT DEX
Uma plataforma básica de NFT DEX 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. Para aliviar a carga do contrato, esses dados também podem ser armazenados em serviços centralizados.
Processo de compra de produtos
Implementação de DEX NFT
A seguir, vamos implementar um DEX 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 usar um NFT já preparado.
2. Redação de contrato
O contrato deve incluir os seguintes métodos principais:
2.1 Vendedor lista NFT
Fluxo:
Método de listagem a ser executado:
2.2 Comprador compra NFT
Após o comprador escolher o NFT e efetuar o pagamento, o contrato é executado:
2.3 Cancelar listagem
Defina o campo isActive do produto como falso.
2.4 Taxa de retirada
Pode depositar a taxa de transação no contrato ou transferi-la para o endereço designado.
3. Desenvolvimento de frontend DEX
Ferramenta principal utilizada:
A interface deve incluir três páginas: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilize o componente de conexão do Ant Design Web3 para implementar a conexão da carteira.
3.2 Página de Mint
Usar o método useWriteContract do wagmi para implementar a mintagem de NFT.
3.3 Página do Portfólio
Exibir NFTs dos usuários, suportando operações de listagem e deslistagem.
3.4 Página de Compra
Exibir NFTs já listados, suportar operações de compra.
Até aqui, o front-end de uma DEX básica de NFT está concluído. Pode ser implementado no Vercel para acesso.