Construir uma plataforma de negociação NFT descentralizada do zero
Para os NFTs que seguem o protocolo ERC-721, a forma de implementar a Descentralização nas transações é diferente dos tokens ERC-20. Atualmente, o modelo de negociação de NFTs mais comum assemelha-se à exibição de produtos nas prateleiras de um supermercado, onde os compradores podem escolher diretamente os NFTs que desejam.
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 projeto de demonstração para fins de aprendizagem, não sendo adequado para uso direto em ambientes de produção.
Características e modos de transação do NFT
NFT é o token não fungível, cada Token é único. Normalmente, os NFTs exibem imagens diferentes na carteira e têm um identificador único. Devido a essa característica dos NFTs, não é possível determinar o preço como nos tokens ERC-20 através de uma curva de preço. Atualmente, a forma mais comum de negociação de NFTs é através de um livro de ordens.
O modo de negociação no livro de ordens tem principalmente duas formas:
Ordem de preço: o vendedor define o preço, e o comprador pode comprar se achar adequado.
Ordem de compra: o comprador publica a necessidade de compra e o preço, o vendedor pode vender se achar adequado.
Este artigo irá focar no modo de negociação de ordens de preço.
Funcionalidades principais da plataforma de NFT
Uma plataforma básica de NFT deve incluir as seguintes funções principais:
Colocar NFT à venda: o vendedor define o preço e coloca o NFT à venda
Comprar NFT: O comprador adquire o NFT pelo preço definido
Cobrança de taxa: cobrar uma certa percentagem sobre o preço de transação
processo de listagem de NFT
Frontend: o usuário escolhe o NFT e define o preço
Contrato: o usuário autoriza a operação de NFT no contrato
Contrato: registar informações de listagem
Processo de compra de NFT
Frontend: O usuário escolhe o NFT que deseja comprar
Contrato: Transferir NFT para o comprador, transferência para o vendedor
Implementar uma plataforma de negociação NFT
A seguir, vamos implementar uma plataforma simples de negociação de NFT do zero.
1. Criar NFT de teste
Podemos usar o Remix para implantar rapidamente um contrato NFT que segue o protocolo ERC-721, para testes.
2. Escrever contratos inteligentes
O contrato precisa implementar os seguintes métodos principais:
2.1 Vendedor coloca NFT à venda
Fluxo:
Verificar a propriedade do NFT
Adicionar registo de listagem
Acionar evento de listagem
2.2 Comprador compra NFT
Fluxo:
Ler dados de listagem de NFT
Calcular e deduzir a taxa de serviço
Transferir NFT para o comprador
Disparar evento de compra
2.3 Cancelar listagem
Basta marcar o registro de listagem como inválido.
2.4 Taxa de retirada
Transferir as taxas acumuladas.
3. Desenvolvimento da interface front-end
Vamos usar as seguintes ferramentas:
Ant Design Web3: conectar carteira, exibir NFT
Wagmi: Interagir com a carteira
Next.js + Vercel: implantação do projeto
A parte frontal precisa implementar três páginas principais:
Mint: criar NFT de teste
Comprar: mercado de NFTs
Portfólio: gerir os NFTs dos usuários
3.1 Conectar carteira
Usar os componentes Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Usado para criar NFT de teste, chamando o método mint do contrato.
3.3 Página de Portfólio
Exibir NFTs possuídos pelos usuários, suportando operações de listagem e deslistagem.
3.4 Página de Compra
Mostrar todos os NFTs listados, suportando a funcionalidade de compra.
Através das etapas acima, conseguimos implementar uma plataforma básica de negociação NFT descentralizada. Embora as funcionalidades sejam relativamente simples, já incluem a lógica central de negociação de NFT. Com base nisso, é possível aprimorar e otimizar ainda mais, a fim de atender às necessidades de mais cenários de aplicação reais.
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.
9 gostos
Recompensa
9
8
Partilhar
Comentar
0/400
HashBandit
· 44m atrás
heh mais um tutorial de marketplace de nft... como se precisássemos de mais lojas jpeg que consomem gás neste momento
Ver originalResponder0
TokenTaxonomist
· 7h atrás
estatisticamente, 89,7% desses "guias" perdem vetores de segurança cruciais...
Ver originalResponder0
GasGuru
· 7h atrás
Parece muito popular, mas é demasiado complicado, não é?
Ver originalResponder0
SleepTrader
· 7h atrás
Há algum bug? Vamos ver.
Ver originalResponder0
SatoshiLegend
· 7h atrás
protocolo código é o rei / análise profunda do código-fonte
Ver originalResponder0
GovernancePretender
· 7h atrás
Eu entendo tudo o que você disse, montar é o mais difícil.
Ver originalResponder0
ChainSherlockGirl
· 7h atrás
Veja quem quer novamente fazer um exchange de NFT para enganar idiotas~ A questão das taxas chamou minha atenção novamente.
Ver originalResponder0
GasFeeNightmare
· 7h atrás
É um pouco confuso, o gás já não está baixo e ainda fazem isso.
Guia completo para construir do zero uma plataforma de negociação NFT descentralizada
Construir uma plataforma de negociação NFT descentralizada do zero
Para os NFTs que seguem o protocolo ERC-721, a forma de implementar a Descentralização nas transações é diferente dos tokens ERC-20. Atualmente, o modelo de negociação de NFTs mais comum assemelha-se à exibição de produtos nas prateleiras de um supermercado, onde os compradores podem escolher diretamente os NFTs que desejam.
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 projeto de demonstração para fins de aprendizagem, não sendo adequado para uso direto em ambientes de produção.
Características e modos de transação do NFT
NFT é o token não fungível, cada Token é único. Normalmente, os NFTs exibem imagens diferentes na carteira e têm um identificador único. Devido a essa característica dos NFTs, não é possível determinar o preço como nos tokens ERC-20 através de uma curva de preço. Atualmente, a forma mais comum de negociação de NFTs é através de um livro de ordens.
O modo de negociação no livro de ordens tem principalmente duas formas:
Este artigo irá focar no modo de negociação de ordens de preço.
Funcionalidades principais da plataforma de NFT
Uma plataforma básica de NFT deve incluir as seguintes funções principais:
processo de listagem de NFT
Processo de compra de NFT
Implementar uma plataforma de negociação NFT
A seguir, vamos implementar uma plataforma simples de negociação de NFT do zero.
1. Criar NFT de teste
Podemos usar o Remix para implantar rapidamente um contrato NFT que segue o protocolo ERC-721, para testes.
2. Escrever contratos inteligentes
O contrato precisa implementar os seguintes métodos principais:
2.1 Vendedor coloca NFT à venda
Fluxo:
2.2 Comprador compra NFT
Fluxo:
2.3 Cancelar listagem
Basta marcar o registro de listagem como inválido.
2.4 Taxa de retirada
Transferir as taxas acumuladas.
3. Desenvolvimento da interface front-end
Vamos usar as seguintes ferramentas:
A parte frontal precisa implementar três páginas principais:
3.1 Conectar carteira
Usar os componentes Ant Design Web3 para implementar a funcionalidade de conexão da carteira.
3.2 Página de Mint
Usado para criar NFT de teste, chamando o método mint do contrato.
3.3 Página de Portfólio
Exibir NFTs possuídos pelos usuários, suportando operações de listagem e deslistagem.
3.4 Página de Compra
Mostrar todos os NFTs listados, suportando a funcionalidade de compra.
Através das etapas acima, conseguimos implementar uma plataforma básica de negociação NFT descentralizada. Embora as funcionalidades sejam relativamente simples, já incluem a lógica central de negociação de NFT. Com base nisso, é possível aprimorar e otimizar ainda mais, a fim de atender às necessidades de mais cenários de aplicação reais.