Construção de uma plataforma de negociação NFT descentralizada
Para NFTs que seguem o protocolo ERC-721, a implementação da Descentralização de transações é um tema importante. Ao contrário dos tokens ERC-20, cada Token de NFT é único, portanto, não pode ser definido um preço de transação através de curvas de preços como em algumas DEX. Atualmente, as plataformas de negociação de NFT mais populares utilizam um método de pedidos para realizar transações, semelhante a produtos expostos nas prateleiras do supermercado, onde os compradores podem escolher produtos a preços adequados.
Este artigo irá apresentar como implementar uma plataforma básica de negociação NFT descentralizada através de contratos inteligentes e uma interface front-end simples. É importante notar que o conteúdo deste artigo é apenas para referência de aprendizado e não é adequado para uso direto em ambientes de produção.
Core features of the NFT plataforma
Uma plataforma básica de negociação NFT descentralizada deve ter as seguintes funcionalidades:
Colocar produtos à venda: o vendedor pode definir um preço para colocar o NFT à venda.
reprove produto: o comprador pode adquirir NFT pelo preço definido
Taxa de transação: a plataforma pode cobrar uma taxa de transação proporcional.
processo de listagem de produtos
Front-end: o usuário escolhe o NFT e define o preço, clica em listar
Contrato: o usuário autoriza o contrato a operar seu NFT
O contrato precisa manter uma tabela de mapeamento de preços dos produtos listados pelos usuários. Embora esses dados também possam ser armazenados em serviços centralizados para aliviar a carga do contrato, este artigo os manterá dentro do contrato.
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 e transferir o NFT para o comprador
Implementar plataforma de negociação NFT
1. Criar NFT de teste
Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT que siga o protocolo ERC-721. Também podemos usar um NFT já preparado para operações subsequentes.
2. Escrever contratos inteligentes
O contrato precisa implementar os seguintes métodos centrais:
2.1 Vendedor coloca NFT à venda
Fluxo:
O utilizador seleciona NFT
Definir preço ( pode ser cotado em stablecoins ou ETH )
Autorizar NFT para o contrato
Método de listagem de contrato requer:
Verificar a propriedade do NFT
Adicionar registo de listagem
Acionar evento de listagem
2.2 Comprador compra NFT
O método de compra de contratos requer:
Ler dados de listagem de NFT
Calcular e deduzir a taxa de serviço
Transferir NFT para o comprador
Acionar evento de compra
2.3 Cancelar listagem
Basta definir o campo isActive no registo de listagem como falso.
2.4 Taxa de extração
A plataforma pode armazenar as taxas cobradas no contrato ou transferi-las para um endereço específico.
3. Desenvolvimento da interface do utilizador
Ferramentas principais utilizadas:
Ant Design Web3: conectar a carteira e exibir NFT
Wagmi: Interagir com a carteira
Next.js + Vercel: implantar projeto
A interface precisa implementar três páginas principais:
Mint: utilizado para a cunhagem de NFTs de teste
Comprar: mercado de negociação NFT
Portfólio: gestão de NFTs do usuário
3.1 Conectar carteira
Utilizar o componente de conexão Web3 do Ant Design para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Utilize o método useWriteContract do wagmi para chamar a função mint do contrato NFT.
3.3 Página do Portfólio
Exibir os NFTs que o usuário possui, suportando operações de listagem e deslistagem.
Na listagem, é necessário chamar o método listNFT e autorizar previamente o NFT ao contrato.
Chame o método cancelListing ao deslistar.
3.4 Página de Compra
Mostrar todos os NFTs que estão listados e são válidos.
Chame o método purchaseNFT ao comprar e pague o ETH correspondente.
Até aqui, uma plataforma básica de negociação NFT descentralizada foi concluída. Pode ser implantada em plataformas como Vercel para testes.
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.
8 Curtidas
Recompensa
8
9
Compartilhar
Comentário
0/400
MEVEye
· 07-19 22:03
As taxas estão muito caras, não estão?
Ver originalResponder0
PensionDestroyer
· 07-19 12:46
As taxas de transação vão fazer as pessoas de parvas novamente.
Ver originalResponder0
AirdropF5Bro
· 07-18 20:13
As taxas estão muito altas, fora!
Ver originalResponder0
PoetryOnChain
· 07-16 23:37
Isto vai fazer as pessoas de parvas novamente.
Ver originalResponder0
ShitcoinConnoisseur
· 07-16 23:32
Então você vai cozinhar arroz frio, a apresentação é feia.
Ver originalResponder0
staking_gramps
· 07-16 23:32
gás费得算好啊
Ver originalResponder0
probably_nothing_anon
· 07-16 23:19
Testnet jogar também não é perda
Ver originalResponder0
WalletDetective
· 07-16 23:12
As taxas de transação estão muito altas, não estão?
Guia completo para construir uma plataforma de negociação NFT descentralizada com contratos inteligentes
Construção de uma plataforma de negociação NFT descentralizada
Para NFTs que seguem o protocolo ERC-721, a implementação da Descentralização de transações é um tema importante. Ao contrário dos tokens ERC-20, cada Token de NFT é único, portanto, não pode ser definido um preço de transação através de curvas de preços como em algumas DEX. Atualmente, as plataformas de negociação de NFT mais populares utilizam um método de pedidos para realizar transações, semelhante a produtos expostos nas prateleiras do supermercado, onde os compradores podem escolher produtos a preços adequados.
Este artigo irá apresentar como implementar uma plataforma básica de negociação NFT descentralizada através de contratos inteligentes e uma interface front-end simples. É importante notar que o conteúdo deste artigo é apenas para referência de aprendizado e não é adequado para uso direto em ambientes de produção.
Core features of the NFT plataforma
Uma plataforma básica de negociação NFT descentralizada deve ter as seguintes funcionalidades:
processo de listagem de produtos
O contrato precisa manter uma tabela de mapeamento de preços dos produtos listados pelos usuários. Embora esses dados também possam ser armazenados em serviços centralizados para aliviar a carga do contrato, este artigo os manterá dentro do contrato.
Processo de compra de produtos
Implementar plataforma de negociação NFT
1. Criar NFT de teste
Para fins de teste, podemos usar o Remix para implantar rapidamente um contrato NFT que siga o protocolo ERC-721. Também podemos usar um NFT já preparado para operações subsequentes.
2. Escrever contratos inteligentes
O contrato precisa implementar os seguintes métodos centrais:
2.1 Vendedor coloca NFT à venda
Fluxo:
Método de listagem de contrato requer:
2.2 Comprador compra NFT
O método de compra de contratos requer:
2.3 Cancelar listagem
Basta definir o campo isActive no registo de listagem como falso.
2.4 Taxa de extração
A plataforma pode armazenar as taxas cobradas no contrato ou transferi-las para um endereço específico.
3. Desenvolvimento da interface do utilizador
Ferramentas principais utilizadas:
A interface precisa implementar três páginas principais:
3.1 Conectar carteira
Utilizar o componente de conexão Web3 do Ant Design para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Utilize o método useWriteContract do wagmi para chamar a função mint do contrato NFT.
3.3 Página do Portfólio
Exibir os NFTs que o usuário possui, suportando operações de listagem e deslistagem.
Na listagem, é necessário chamar o método listNFT e autorizar previamente o NFT ao contrato. Chame o método cancelListing ao deslistar.
3.4 Página de Compra
Mostrar todos os NFTs que estão listados e são válidos. Chame o método purchaseNFT ao comprar e pague o ETH correspondente.
Até aqui, uma plataforma básica de negociação NFT descentralizada foi concluída. Pode ser implantada em plataformas como Vercel para testes.