WEB3DEV

Cover image for Como projetar e desenvolver um Mercado de NFTs - Entendendo a arquitetura por trás dele!
Paulo Gio
Paulo Gio

Posted on • Atualizado em

Como projetar e desenvolver um Mercado de NFTs - Entendendo a arquitetura por trás dele!

https://miro.medium.com/max/1100/1*24Os8PFMKOkeX6kqgsov9g.jpeg

Namastê!

Aqui é o Mayank, da Thrifty software, novamente com um novo post sobre o produto mais badalado da atualidade, o Mercado de NFTs. As pessoas são loucas pelo mercado de NFTs e querem lançar seus próprios mercados para diferentes casos de uso e temas, como Imóveis, Galerias de Arte, Jogos etc.

Mas quando se trata de desenvolvimento, é realmente necessário que, antes de iniciá-lo, se conheça o real design e arquitetura por trás deste Mercado. Novamente, como no meu post anterior sobre o desenvolvimento de uma carteira de custódia, não ensinarei como desenvolver um mercado de NFTs, mas discutirei alguns conceitos e fluxos por trás dele.


Sumário

1 . O que é um Token Não Fungível

2 . Como é o Mercado de NFTs
..... . Diferentes tipos de Mercados de NFTs
..... . Mercado Primário e Secundário

3 . Entendendo a principal lógica por trás do Mercado de NFTs
..... . Autenticação
..... . Perfil
..... . Conheça seu Cliente
..... . Criar ativo
..... . Liste o NFT para venda
..... . Listagem de NFT para venda ou leilão de preço fixo
..... . Licitação e Compra
..... . Coleções e Adicionando NFTs como Coleção
..... . Outras Visualizações

4 . Conclusão


O que é um Token Não Fungível

NFT significa token não fungível. Um NFT transforma um arquivo digital (Imagem, Áudio, gif, Vídeo, PDF) em um ativo digital. Um token NFT é criado e armazenado em uma blockchain, servindo como prova de propriedade e proveniência de um item específico. Funciona como um certificado digital de autenticidade que pode ser facilmente verificado por qualquer pessoa em qualquer lugar do mundo em uma blockchain.

Pergunta: O NFT é apenas para obras de arte (Imagens, Vídeos, GIFs)?

Resposta: Com certeza não! O NFT de obras de arte é apenas um caso de uso dos NFTs, mas pode haver vários casos de uso, como NFTs em emissão de ingressos para eventos, etc.

Como é o Mercado de NFTs

O mercado de NFTs é um mercado que permite que os artistas mostrem e listem suas obras de arte na forma de tokens digitais (NFTs), e os compradores/investidores podem comprar essa obra de arte. É muito semelhante à compra e venda de produtos em um mercado de comércio eletrônico como a Amazon. Um Artista pode escolher várias formas de vender sua Obra. Eles podem optar por vendê-la por um preço fixo, ou podem colocar a Obra em um Leilão, aberto para licitação, onde o maior lance fica com o NFT.

Diferentes tipos de Mercados de NFTs

Existem basicamente dois tipos de Mercados de NFTs,

Mercado Primário e Secundário

O mercado primário de NFTs é o local onde um criador (Artista) pode cunhar um token NFT (Criar arte na forma de um token digital) e listá-lo para venda.

  • Mercado Secundário: O mercado secundário de NFTs é onde um colecionador que comprou um NFT pode revender ou relistar seus NFTs.

Enquanto o “mercado primário” se refere à primeira venda de uma obra de arte, o “mercado secundário” engloba todas as revendas subsequentes da obra.

Neste post, irei focar na construção de um mercado de NFTs primário.

Entendendo a principal lógica por trás do Mercado de NFTs

Aqui estão algumas funções e demonstrações, através das quais você terá uma ideia completa de como funciona um mercado de NFTs.

Autenticação

A autenticação é necessária para realizar ações na plataforma. Embora as funções de navegação (Procurar NFTs, Procurar usuário, Procurar coleção) devam ser abertas (não autenticadas), mas alguns recursos como Criar perfil, Editar perfil, Curtir NFT, Criar coleção e Excluir coleção precisam de autenticação para identificar o usuário.

Você pode usar autenticação normal baseada em e-mail / senha ou login de rede social e gerar um token JWT, ou então, se você não quiser usar essa autenticação, também pode usar carteiras Web3 como Metamask, Coinbase, etc. Consulte o artigo aqui .

Perfil

Mostramos o perfil do usuário no Mercado, associado a cada card NFT, placar, coleção, lista de licitantes e outros locais. Portanto, precisamos manter o perfil do usuário, que pode incluir o nome completo, nome de usuário, biografia, imagem de capa, avatar e informações públicas de outros usuários. Essas informações podemos manter em nosso banco de dados.

Conheça Seu Cliente

Isso é completamente opcional. Caso você precise construir um mercado de NFTs controlado (dependendo das conformidades legais do seu país), você precisa conhecer seu cliente (usuário), para isso você precisa de um módulo KYC. Você pode implementar o KYC de duas maneiras:

  1. KYC Manual: Você pode criar seu Módulo de KYC para o Cliente, onde você coleta dados de usuários e os verifica no painel de administração
  2. API de terceiros: Você também pode usar qualquer API de terceiros, como https://onfido.com/, que fará para você a coleta e verificação dos dados.

Você também pode restringir os usuários de comprar/vender na Plataforma até que o KYC seja concluído.

4. Criar ativo

https://miro.medium.com/max/828/1*5y6qrNMp2RDt12mfzhKZGw.png

Diagrama de Cunhagem do NFT

Criar um Ativo Digital/Obra NFT em um mercado significa cunhar seu token digital. É onde um usuário tem que fazer o upload das informações sobre o NFT (Obra) e cunhar um novo token.

Isso inclui três etapas, que são:

  1. Conectando seu DApp com uma carteira Web3: A cunhagem de um NFT em uma blockchain requer que você primeiro conecte seu Dapp com uma carteira web3, como a Metamask.
  2. Upload de metadados para o IPFS: Você precisa fazer upload dos metadados do seu NFT para o IPFS (InterPlanetary File System). Os metadados incluem os ativos do NFT (imagem, vídeo, GIF), título, descrição e propriedades. Como estamos construindo um token não fungível, precisamos garantir que esses metadados permaneçam para sempre na rede e sejam descentralizados. Assim, armazená-los no IPFS é a melhor opção. Se você carregar esses arquivos em um banco de dados centralizado, é arriscado para a segurança do seu arquivo. Depois de carregar os metadados do seu NFT para o IPFS, você receberá um ID de metadados (chave IPFS)
  3. Cunhando o seu NFT: Pegue o ID de metadados do IPFS, use-o como tokenURI e assine a transação para cunhar um NFT.

Liste o NFT para venda

https://miro.medium.com/max/720/1*t8DHu3MM-pRknFZjlxVZkw.png

Listagem de NFT para venda ou leilão de preço fixo

Uma vez que o usuário cunhou ou comprou um NFT, ele pode colocá-lo à venda,

A venda pode ser de diferentes tipos:

  1. Venda a Preço Fixo: Aqui o usuário listará o NFT por um preço fixo, para que outros usuários possam adquiri-lo diretamente, pagando o valor informado nos detalhes do NFT.
  2. Leilão: Aqui o usuário listará o NFT para Leilão, onde o usuário especificará o Valor mínimo do lance e a duração do leilão. Assim, os usuários podem dar lances no NFT. Após a expiração do Leilão, ninguém poderá mais dar um lance. Agora o proprietário pode decidir aceitar/rejeitar o lance mais alto. Caso o usuário tenha optado por Aceitar, o valor irá para o usuário, e a propriedade do NFT será transferida para o maior lance.
  3. Híbrido (Leilão e Preço Fixo): O usuário também pode listar seus NFTs no modelo híbrido, ou seja, listá-los tanto para preço fixo quanto para leilão. Portanto, aqui o usuário deve especificar o valor mínimo do lance, a duração do leilão e o preço de compra imediata. Agora o usuário pode dar um lance no leilão, porém se o usuário comprar o NFT com o preço de Compra Imediata, o NFT será imediatamente vendido ao comprador e o leilão será encerrado.

Licitação e Compra

https://vimeo.com/717503388

Os usuários podem visitar a página de detalhes do NFT e comprar ou dar lances em um NFT, dependendo da forma de venda. (Compra = Preço Fixo ou Híbrido, Lance = Leilão). O fluxo é quase o mesmo, como:

O Usuário seleciona um NFT → Conecta a Metamask → Chama a função Buytoken ou BidToken → Assina a transação & Envia para a Blockchain → O evento será acionado, o que mudará o proprietário no banco de dados.

Qualquer usuário (proprietário) do NFT, pode decidir removê-lo da Venda (Preço Fixo/Leilão). Uma vez que é removido da venda, ninguém pode comprá-lo/dar um lance.

Coleções e Adicionando NFTs como Coleção

As coleções são usadas para agrupar os NFTs de características semelhantes, para facilitar a navegação dos usuários. Um mercado de NFTs deve ter um recurso onde os usuários possam criar/atualizar uma coleção e atribuir seus NFTs (que possuem) a uma coleção. A coleção pode existir no Banco de Dados, para facilitar a navegação/pesquisa do usuário.

Outras Visualizações

Embora você precise manter os metadados dos NFTs no IPFS, é bom manter também uma cópia em seu banco de dados, para melhorar a funcionalidade de consulta e pesquisa no mercado de NFTs. Os usuários vão achar conveniente navegar nas Obras de Arte NFT pesquisando seu título, por categoria, filtrar por coleção, etc. Essas podem ser visualizações diferentes para listar os NFTs,

  1. NFTs mais buscados
  2. Navegar por Categoria
  3. Navegar por Coleção
  4. Procurar perfil de usuário
  5. Procurar NFT criado/de propriedade do usuário

Conclusão

Depois de ler este post, você deve ter uma ideia sobre a arquitetura por trás de um mercado de NFTs e deve estar animado para construir o seu próprio Mercado de NFTs.

Aqui estão alguns tutoriais e conteúdos, que podem ser úteis para você:

  1. https://www.youtube.com/watch?v=GKJBEEXUha0
  2. https://dev.to/edge-and-node/building-scalable-full-stack-apps-on-ethereum-with-polygon-2cfb
  3. https://github.com/dabit3/polygon-ethereum-nextjs-marketplace/

Caso você esteja procurando por um Mercado de NFTs, visite https://thriftysoft.tech/ ou sinta-se à vontade para entrar em contato conosco em [email protected] ou entre em contato conosco pelo Skype. Se você precisa apenas da interface de usuário mostrada no post, compre aqui https://codecanyon.net/item/minto-reactjs-nft-marketplace-ui-kit/35888391

Ficaremos felizes em ajudá-lo 😊

Artigo original escrito por Mayank Bansal. Traduzido por Paulinho Giovannini.

Oldest comments (0)