Desenvolver uma plataforma de negociação NFT de Descentralização desde o zero
Para NFTs que seguem o protocolo ERC-721, a forma de realizar a negociação descentralizada difere dos tokens ERC-20. Atualmente, as principais plataformas de negociação de NFT utilizam predominantemente o modelo de listagem, semelhante a produtos expostos nas prateleiras de um supermercado, onde os compradores podem escolher livremente.
Este artigo irá apresentar como implementar uma plataforma de negociação NFT descentralizada básica através de contratos inteligentes e uma interface frontal simples. É importante notar que este é apenas um exemplo de aprendizado, não sendo adequado para ambientes de produção reais.
Características e formas de negociação de NFT
NFT é a abreviatura de token não fungível, onde cada token é único. Normalmente, os NFTs exibem imagens diferentes na carteira, e cada grupo de NFTs possui um identificador único.
Devido a essa característica dos NFTs, não é possível precificá-los através de curvas de preço como os tokens ERC-20. Atualmente, a forma de negociação mais comum é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
O modo de livro de ordens tem principalmente duas formas:
Ordem de preço: o vendedor define o preço, e o comprador pode comprar diretamente se achar adequado.
Pedido de compra: o comprador envia uma ordem de compra, e o vendedor pode vender se achar o preço adequado.
Em geral, o preço das ordens de compra será inferior ao das ordens de preço fixo. Este artigo irá focar no modo de ordens de preço fixo.
Funcionalidades básicas da plataforma NFT
Uma plataforma básica de NFT deve incluir as seguintes funcionalidades:
Colocar produtos à venda: colocar o NFT à venda pelo preço especificado
Comprar produtos: comprar de acordo com o preço do NFT
Taxa de plataforma: uma taxa de certa proporção é cobrada com base no preço de transação
processo de listagem
Front-end: O usuário seleciona o NFT e define o preço, clica em listar.
Contrato: o usuário autoriza o contrato a operar seu NFT
Ao mesmo tempo, é necessário manter uma tabela de mapeamento de preços para os produtos listados no contrato.
Processo de compra
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
Desenvolvimento de plataforma NFT
A seguir, vamos implementar uma plataforma simples de NFT desde o 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 existente diretamente.
2. contrato da plataforma de negociação
A plataforma de negociação de contratos precisa incluir as seguintes funcionalidades principais:
2.1 Vendedor coloca NFT à venda
O fluxo é o seguinte:
O utilizador escolhe NFT
Definir preço ( disponível em ETH ou stablecoin )
Autorizar NFT para o contrato
Chamar o método de listagem
Métodos de listagem necessários:
Verificar a propriedade do NFT
Adicionar registo de listagem
Acionar o evento de listagem
2.2 Compras de NFT pelo comprador
Processo de compra:
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
A cancelamento da listagem pode ser realizado definindo o campo isActive como false.
2.4 Taxa de extração
A plataforma pode cobrar uma certa proporção de taxa de transação, armazenada no contrato ou transferida para um endereço específico.
3. Desenvolvimento Front-end
O desenvolvimento front-end necessita das seguintes ferramentas:
Ant Design Web3: para conexão de carteira e exibição de NFT
Wagmi: utilizado para interação com a carteira
Next.js + Vercel: implantar projeto
A interface principal contém três páginas: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilize o componente de conexão Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Para a cunhagem de NFTs de teste, utilize o método useWriteContract da wagmi para chamar o contrato.
3.3 Página de Portfólio
Exibir os NFTs detidos pelos usuários, suportando operações de listagem e deslistagem.
É necessário chamar os métodos listNFT e cancelListing do contrato e autorizar o NFT ao contrato antes de listar.
3.4 Página de Compra
Mostrar todos os NFTs listados, suportando operações de compra.
Chame o método purchaseNFT ao comprar e pague o ETH correspondente.
Até aqui, uma plataforma básica de negociação NFT Descentralização foi desenvolvida. Podemos implantá-la em plataformas como Vercel para testes.
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.
17 Curtidas
Recompensa
17
5
Compartilhar
Comentário
0/400
failed_dev_successful_ape
· 07-29 23:38
Não fique com essas formalidades, faça um demo e pronto.
Ver originalResponder0
FalseProfitProphet
· 07-29 23:38
A primeira aula para programadores iniciantes
Ver originalResponder0
ZKProofster
· 07-29 23:34
hmm... tecnicamente falando, esta implementação carece de vetores de privacidade críticos
Entenda todo o processo de desenvolvimento de uma plataforma de negociação NFT descentralizada.
Desenvolver uma plataforma de negociação NFT de Descentralização desde o zero
Para NFTs que seguem o protocolo ERC-721, a forma de realizar a negociação descentralizada difere dos tokens ERC-20. Atualmente, as principais plataformas de negociação de NFT utilizam predominantemente o modelo de listagem, semelhante a produtos expostos nas prateleiras de um supermercado, onde os compradores podem escolher livremente.
Este artigo irá apresentar como implementar uma plataforma de negociação NFT descentralizada básica através de contratos inteligentes e uma interface frontal simples. É importante notar que este é apenas um exemplo de aprendizado, não sendo adequado para ambientes de produção reais.
Características e formas de negociação de NFT
NFT é a abreviatura de token não fungível, onde cada token é único. Normalmente, os NFTs exibem imagens diferentes na carteira, e cada grupo de NFTs possui um identificador único.
Devido a essa característica dos NFTs, não é possível precificá-los através de curvas de preço como os tokens ERC-20. Atualmente, a forma de negociação mais comum é através de um livro de ordens.
Modo de Negociação de Livro de Ordens
O modo de livro de ordens tem principalmente duas formas:
Ordem de preço: o vendedor define o preço, e o comprador pode comprar diretamente se achar adequado.
Pedido de compra: o comprador envia uma ordem de compra, e o vendedor pode vender se achar o preço adequado.
Em geral, o preço das ordens de compra será inferior ao das ordens de preço fixo. Este artigo irá focar no modo de ordens de preço fixo.
Funcionalidades básicas da plataforma NFT
Uma plataforma básica de NFT deve incluir as seguintes funcionalidades:
processo de listagem
Ao mesmo tempo, é necessário manter uma tabela de mapeamento de preços para os produtos listados no contrato.
Processo de compra
Desenvolvimento de plataforma NFT
A seguir, vamos implementar uma plataforma simples de NFT desde o 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 existente diretamente.
2. contrato da plataforma de negociação
A plataforma de negociação de contratos precisa incluir as seguintes funcionalidades principais:
2.1 Vendedor coloca NFT à venda
O fluxo é o seguinte:
Métodos de listagem necessários:
2.2 Compras de NFT pelo comprador
Processo de compra:
2.3 Cancelar listagem
A cancelamento da listagem pode ser realizado definindo o campo isActive como false.
2.4 Taxa de extração
A plataforma pode cobrar uma certa proporção de taxa de transação, armazenada no contrato ou transferida para um endereço específico.
3. Desenvolvimento Front-end
O desenvolvimento front-end necessita das seguintes ferramentas:
A interface principal contém três páginas: Mint, Buy e Portfolio.
3.1 Conectar carteira
Utilize o componente de conexão Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Para a cunhagem de NFTs de teste, utilize o método useWriteContract da wagmi para chamar o contrato.
3.3 Página de Portfólio
Exibir os NFTs detidos pelos usuários, suportando operações de listagem e deslistagem.
É necessário chamar os métodos listNFT e cancelListing do contrato e autorizar o NFT ao contrato antes de listar.
3.4 Página de Compra
Mostrar todos os NFTs listados, suportando operações de compra.
Chame o método purchaseNFT ao comprar e pague o ETH correspondente.
Até aqui, uma plataforma básica de negociação NFT Descentralização foi desenvolvida. Podemos implantá-la em plataformas como Vercel para testes.