Crea un mercado de NFT con pila completa usando Solidity & Next js | Rahul Agarwal | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Crie um NFT Marketplace de pilha completa usando js Solidity & Next

teacher avatar Rahul Agarwal, Flutter Developer & Trainer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      INTRODUÇÃO DO CURSO

      0:48

    • 2.

      Crie um novo projeto hardhat

      10:27

    • 3.

      Alchemy e Metamask Keys

      8:45

    • 4.

      Como criar contrato de mercado NFT

      10:29

    • 5.

      Funcionalidade para criar um item de mercado

      7:14

    • 6.

      Funcionalidade para criar um novo ID de token

      10:54

    • 7.

      Funcionalidade para obter itens de mercado não vendidos

      7:06

    • 8.

      Funcionalidade para obter itens de propriedade e listados

      7:51

    • 9.

      Funcionalidade para revender e cancelar itens de mercado

      9:16

    • 10.

      Teste de unidade para implantar o contrato

      9:13

    • 11.

      Teste de unidade para cunhar e listar nft

      17:57

    • 12.

      Teste de unidade para executar venda de mercado

      7:32

    • 13.

      Teste de unidade para revender itens de mercado

      8:52

    • 14.

      Teste de unidade para obter itens de mercado

      7:35

    • 15.

      Teste de unidade para cancelar listagem de mercados

      4:01

    • 16.

      Como escrever o script de implantação

      5:43

    • 17.

      Configure e comece a trabalhar no Next js

      16:40

    • 18.

      Função para carregar NFT

      15:13

    • 19.

      Função para comprar NFT

      15:26

    • 20.

      Configure chaves do Pinata IPFS

      9:41

    • 21.

      Função para fazer upload de arquivo para o Pinata

      13:36

    • 22.

      Função para listar NFT no mercado

      25:35

    • 23.

      Função para obter NFTs propriedade ou comprado

      14:07

    • 24.

      Função para obter NFTS listados no mercado

      5:09

    • 25.

      Função para cancelar e revender a NFT

      6:51

    • 26.

      Teste o aplicativo completo

      11:39

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

85

Estudantes

--

Sobre este curso

Se você faz parte do espaço de criptomoedas, pode ter ouvido falar desse trending ativo digital conhecido como NFT. Este curso cobre tudo o que você precisa para uma aplicação NFT descentralizada de acordo com o padrão ERC721. Os usuários vão poder vender e comprar NFTs com a Ether no nosso mercado.

Você vai aprender a criar um mercado de NFT de pilha completa no Ethereum com Solidity, IPFS, Next.js, Ethers.js e Hardhat. Vamos começar do zero, criando um novo projeto hardhat e instalando as dependências. Em seguida, vamos escrever e testar os contratos inteligentes. Depois de os testes terem passado, vamos escrever o código de ponta para conectar os contratos inteligentes. Os metadados NFT serão armazenados no Pinata, que é um armazenamento baseado em IPFS.

Pré-requisitos

Para ter sucesso neste guia, você deve ter o seguinte:

  1. Node.js e VS Code devem ser instalados.

  2. A extensão de carteira Metamask deve ser instalada no seu navegador com alguns test etas da Goerli nele.

  3. Conhecimento básico de Solidity, hardhat e Next js necessário.

A pilha

Neste curso, vamos criar um aplicativo de pilha completo, usando:

Framework de aplicativos na Web - Next.jsSolidity de desenvolvimento de Next.jsSolidity - Armazenamento de HardhatFile
- Biblioteca PinataClient
-
Next.jsSolidity

Conheça seu professor

Teacher Profile Image

Rahul Agarwal

Flutter Developer & Trainer

Professor

Hello, I'm Rahul. I am skilled in building cross platform application using Flutter. I am freelance developer as well as conduct workshops to share my knowledge with the community.

Visualizar o perfil completo

Level: Intermediate

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. INTRODUÇÃO DO CURSO: Se você faz parte do espaço da criptomoeda, há uma chance de ter ouvido falar desse ativo digital de tendência conhecido como NFT. Este curso cobre tudo o que você precisa para um aplicativo NFT descentralizado, acordo com o padrão ERC 721, os usuários poderão vender e comprar NFP is weed eater em nosso mercado. A primeira parte do curso abrange a redação e o teste de contratos inteligentes usando sólidos. A outra metade herdada será focada na construção da interface do usuário usando next, chairs e Tailwind CSS, um estimador, que os dados serão armazenados em pinata, que é um armazenamento baseado em IPFS. Ao final do curso, você aprenderá todos os conceitos necessários para se candidatar a um emprego de desenvolvedor web ou até mesmo construir sua própria startup no setor de blockchain. Então, sem perder mais tempo, inscreva-se agora e vamos começar. 2. Vídeo 1 Crie um novo projeto de chapéu duro: Olá, bem-vindo ao primeiro vídeo do curso, onde estamos construindo um mercado NFT do zero. Portanto, neste vídeo, discutiremos sobre o roteiro do curso , bem como configuraremos nosso ambiente de desenvolvimento. Como você pode ver na tela, há várias etapas envolvidas neste curso. O primeiro passo é configurar o ambiente de desenvolvimento usando hardhead. Em seguida, criaremos um contrato inteligente que rastreia e armazena e se os dados. Depois, escreveremos testes unitários para garantir que nosso contrato inteligente esteja funcionando corretamente. A quarta etapa será implantar o contrato inteligente nessa rede de teste. Depois disso, trabalharemos no front-end e usaremos os próximos anos para isso. Em seguida, interagir com um contrato inteligente implantado. Usaremos um test.js e MetaMask. E, finalmente, testaremos o funcionamento completo do aplicativo para que você possa mostrar esse projeto em seu portfólio. Antes de avançar, certifique-se de ter instalado o MetaMask e de fazer alguns testes. Caramba, isso rasga na sua conta. Eu não vou configurar de novo. Assista a qualquer tutorial sobre ele e continue com esse curso. Então, minha tarefa é apenas um processo muito simples. Depois de fazer esse teste, chame-o de teste, existem algumas torneiras que você pode pesquisar no Google e inserir seu endereço. É isso aí. Então, agora você pode ver toda a pilha de tecnologia de nosso aplicativo descentralizado. Essa é a solidez em que estamos trabalhando, o itanium é hardhat. No futuro, usaremos como provedor de nó blockchain. É test.js, é isso. Essas são as coisas que usaremos. Agora, vamos começar a trabalhar e que temos que criar um novo projeto de cabeça dura. Então, o que é difícil, hard hat é um ambiente que os desenvolvedores usam para testar, compilar, implantar e depurar aplicativos descentralizados com base em seu blockchain italiano. Se você quiser saber mais, você também pode acessar o site oficial deles. Você pode ver que isso é cabeça dura. E aqui você pode ler mais se quiser. Vou começar a criar uma nova pasta e dar um nome a ela. Nft, mercado. Dap. É isso aí. Então, dentro dele, vou criar, vou abrir um novo terminal. E a primeira coisa que precisamos fazer é criar um projeto NPM usando esse comando npm nele. O quê? Em seguida, ele esvaziará o projeto npm. É isso aí. Em seguida, vou simplesmente instalar o hardhead usando este comando save dev hard hat. É isso aí. Isso levará apenas alguns segundos. Agora, para criar um projeto hardhead, usaremos o comando n p x hardhead. Isso nos dará o código clichê. Vou apenas pressionar enter. Em seguida, criarei um projeto JavaScript inserido. E então é isso. Depois disso, o hardhead está nos dizendo para instalar essas dependências. Mas esta é uma atualização que está há apenas uma semana. Então, eu me sinto mais confortável em estilizar essas dependências separadamente. Isso é difícil onde os comedores contratados, o que torna o hardhead compatível com teste e nos ajuda a interagir com o contrato inteligente. Então, vou escrever npm install save dev. A primeira coisa que vou fazer é. Na noite em que ele agora faz os laboratórios reduzirem, eu tinha taxa total a taxa total para encontrar 0, depois espaço. Novamente. É tédio que um 3. Então chai 4. Então, então eu vou usar novamente. Agora faça laboratórios. Éteres duros 0. E, finalmente, éteres que por 0 e pressione Enter. Se obtivermos algum adicionado, vamos apenas resolvê-lo. Mas na documentação oficial, você pode ver tudo aqui, como executar. E isso é npm install save that, então vamos usar, depois adicionamos usando NP x hard hat. Em seguida, estamos criando um projeto JavaScript. É isso aí. Aqui, o add instalando essa caixa de ferramentas. Mas estou instalando todas as dependências separadamente. Essa é a diferença. Isso levará algum tempo. Agora, vamos abrir nosso projeto no código VS. Eu simplesmente escreverei o espaço do código. Ele abrirá essa pasta em nosso VS Code Editor. Nesse pacote ou Jason, você pode simplesmente gritar verificar se tudo está instalado. R nada, isso é muito cheio. Ito's Di Italian comedores de desperdício e Hardhead. Então, tudo está instalado. Além disso. Verifique se você tem extensões instaladas nessas extensões. É Dart. Então eu tenho trechos do próximo ano também. Então eu tenho esse CSS tailwind instalado. Depois, há também esse novo plug-in. É um chapéu duro. Eu instalei isso como é a partir de condições gnômicas que é o oficial instalado isso também. Então é isso para este vídeo. No próximo vídeo, definiremos as configurações inferior e MetaMask. Obrigada. 3. Vídeo 2 Alquimia e teclas de Metamask: Oi, bem vindo de volta. Neste vídeo, vamos configurar em menos e meu damasco em nosso projeto. Hardhead nos fornece poucas pastas e arquivos. Vamos entender tudo isso passo a passo. Mas vamos para hardhead dot config dot js e garantir que estamos apontando nossa rede para correlacionar a rede de teste italiana. Para que isso funcione, precisamos caudalmente do URL do nó TDM e de um endereço de carteira. Como eu já tenho contas, eu não estaria criando uma nova MetaMask final de contabilidade inferior. Você pode pesquisar no Google e fazer isso sozinho. É um processo muito simples e direto. Vamos abrir nosso navegador e ir para o infuse. Mas IO. Depois de entrar, temos que criar um novo projeto. A rede será isso. Temos três APIs anteriormente itanium e simplesmente nomeiamos NFT marketplace e clicamos em Create. Então, aqui, basta alterar a rede Lee principal de dois núcleos e simplesmente copiar esse URL. Então. No arquivo de conflito hardhead, você simplesmente escreve abaixo dessa solidez, simplesmente escreve redes. Então, assim. E tem rede encaracolada. Agora, cole essas chaves. Queremos colar essa dose de resíduos diretamente em nosso código. Usaremos algumas bibliotecas. A primeira biblioteca que usaremos é o pacote dot ENV. Porque não é recomendado colar essas informações confidenciais diretamente em seu aplicativo pois elas podem ser mal utilizadas por outras pessoas. A segunda biblioteca que usaremos é anexa um plano, que é uma biblioteca de contratos modulares, reutilizáveis, seguros e inteligentes para a rede italiana e retorno em solidez. Ele permite alavancar contratos padrão, testados e revisados pela comunidade. Você pode pesquisar, abre o link se quiser. Assim. Se quiser, você pode pesquisar diretamente e ler por conta própria o que ele faz. Eu simplesmente acrescentarei isso e escreverei npm. Instale contratos de barra Zeplin e não ENV. Vamos entrar. Agora, basta cruzar. Tudo agora está instalado. OK. Após a instalação, temos que criar um arquivo ponto ENV, que é um arquivo ponto ENV. E a equipe de baixo seguindo as teclas, essa é a nossa chave inferior e pública. Vou apenas criar uma variável chamada n few. Url é igual a assim. E a segunda carteira. Mas eu li que k é igual a isso. Dot ENV está diretamente nesse diretório raiz, não dentro de nenhum contrato ou teste e tudo mais. Agora vá e cole essas chaves. O primeiro é o URL inferior e o segundo é a chave MetaMask. Você pode instalar meu thomas acessando meu site Thomas.io e instalar a extensão para o seu navegador. Em seguida, basta clicar na máscara. Em seguida, digite sua senha. Em seguida, vá para Configurações. Só espere. Primeiro, vou clicar nessa segunda conta. Eu escreverei os detalhes da conta. Em seguida, exporte chave privada. E papai é senha. Pressione Enter e copie esta tecla. Certifique-se de não compartilhar essa chave com mais ninguém. É uma chave muito pessoal. Tem que ser protegido. Em seguida, basta colar aqui dentro e salvá-lo. Agora você não precisa usá-lo. Depois disso. Vá para hardhead dot config dot js e faça as seguintes alterações. Aqui. No URL. No topo, você simplesmente precisa de dot, dot ENV, dot ENV, dot config. Simplesmente escreva-o. Então, dentro dessa URL feminina, você simplesmente tem que escrever o ponto de processo ENV. No URL do Beulah, é o nome da variável. E nas contas, você simplesmente terá que re, dentro do processo de colchetes ponto ENV, liderado pela guerra. Mas eu li a chave. É isso aí. Então é assim que configuramos nossa rede para os piedosos. Além disso, você também pode escrever capacete. Se você quiser testá-lo no ambiente local, depende de você. Prefiro encaracolado, como sei, que tudo está funcionando nesse código. Então é isso para este vídeo. No próximo vídeo, criaremos nosso contrato inteligente. Obrigada. 4. Vídeo 3 Criando contrato de mercado NFT: Oi, bem vindo de volta. Vamos criar nosso primeiro contrato inteligente. Basta criar um novo arquivo dentro da pasta de contratos e chamá-lo de NFT market, dots soul. Então, como sempre, temos que mencionar o compilador de solidez e agora temos 0.8.9. Copie santamente essas duas linhas e cole-as aqui. Em seguida, crie nosso contrato usando a palavra-chave e o nome do contrato, NFT. Mercado, lugar. Assim. Agora, temos que importar nossas dependências. A primeira importação será abre um avião na pista, barra, negócios, contadores, pontos. Então a próxima coisa que temos são faixas slash slash, C, 721, extensões de chicote, ELC 721, URIs, velhice. E, finalmente, temos isso que é token de contratos, ERC 721, ERC 721 ponto. E agora temos que herdar com o armazenamento ERC URI, ou seja, 71 armazenamento de URL. E a primeira coisa que faremos é criar algumas variáveis usando esse contador, essa solubilidade esses contadores, contadores ponto contador. Então, o primeiro quando eu ler a variável será IDs de token. Esse é o número de DOMS já criados. E segundo, seriam contadores, contador de partida. Mas eu li itens vendidos, número de itens vendidos. Agora, você também pode pesquisar este Zeplin aberto e, em seguida, ERC 2721 e ler O funcionamento o que ele faz. Então aqui você pode ver C7 a T1. Aqui você pode ver o que estamos usando esses contadores do que o ES é token 721 e todas as diferentes versões diferentes. É importante saber qual versão reduzir ou o que estamos usando. Estamos usando uma versão diferente. Eu posso ver todas as documentações serem atualizadas de tempos em tempos. Mas a funcionalidade da adaga será a mesma. A próxima variável que farei é o preço do anúncio, que será 0. Aqui está 01 E terceiro. E isso é o que temos que ser para listar o NFT deles em nosso mercado. Então essa é a comissão ou o quê? Não é a comissão. É apenas uma taxa de listagem. Em seguida, teremos uma variável conhecida como proprietário que não está fora do contrato inteligente. Agora vamos criar um construtor. Ou seja, ele será executado apenas uma vez quando estivermos usando este ano C7 para T1. E temos que usar essas coisas. Ou seja, temos que dar o nome C, você tem que dar um nome e um símbolo. Vou simplesmente dar um nome a ele. Torres loucas. Tolkien"s, e dar símbolo encontrado. Nisso constrói um construtor. Não estamos aceitando nada, mas garantiremos que o proprietário seja a pessoa que está implantando esse contrato inteligente. Portanto, esse código é necessário quando estamos herdando isso. Então isso não está sendo escrito por nós. Isso é pré-escrito bem escrito pela biblioteca Zeplin aberta. É isso aí. Agora, vamos continuar. Então agora vou criar uma estrutura, que será item de mercado. Struct é apenas nosso próprio tipo de dados. É apenas uma coleção de tipos de dados primitivos. Inteiro primitivo, endereço, booleano, tudo isso. Então, o que um NFT ou o item de mercado consistirá? Ele consistirá nesse ID de token. Em seguida, ele terá o endereço do vendedor de contas a pagar, que terá o endereço do proprietário naquele momento. Em seguida, ele terá preço de tabulação e um booleano, que é vendido ou não. E agora teremos um mapeamento também. Ou seja, o inteiro uint8 será mapeado para o item de mercado, ou seja, este. E nós vamos, será uma variável privada e vamos chamá-la de id2. Item de mercado, ou seja, o ID do token está sendo mapeado para o item de mercado. Se fornecermos esse ID de token, ele nos dará toda a estrutura que contém todas as informações. Em seguida, criaremos um evento que é item de mercado, evento criado. Terá da mesma forma tudo a mesma coisa. Isso é un 56 indexado. Pode identificar, depois endereço, endereço, proprietário e direitos da ONU. E booleano vendido. Eventos, chamados apenas para que sejam salvos na blockchain publicamente. Você pode ler mais sobre o que esses eventos ou como emitir um evento. E se você não conhece o básico da solidez. Então, esse é todo o código de hoje neste vídeo. No próximo vídeo, escreveremos certas funcionalidades para realizar determinada tarefa. Obrigada. 5. Funcionalidade de vídeo 4 para criar um item de mercado: Oi. Agora vamos começar a trabalhar nas funcionalidades. Divertido. A primeira função que criaremos é obter o preço do anúncio. Então, assim como diversão, obtenha o preço do anúncio. visão sombria retorna. Está transformando você em 56. E ele simplesmente retornará a variável de preço de listagem, que é essa. Então o comentário, basta escrever o comando retorna listagem, local do contrato, preço de listagem do mercado mesmo certo. Em seguida, a próxima funcionalidade será devida. Encontro. Listagem. Simplesmente Wanchun, listando o preço. Agora, este é um lugar de renovação e aninhamento. Blake. Temos que garantir que somente o proprietário possa atualizar o preço do anúncio. Portanto, temos que escrever que o proprietário é igual ao remetente da mensagem. Se não for, basta escrever sobre Lee. Mercado, o proprietário pode datar o preço da listagem. E se for o proprietário, simplesmente alteraremos o preço do anúncio. Esse preço de anúncio, é isso. Essas são as funcionalidades básicas. Agora os arquivos, a próxima funcionalidade será o canal D diferente para criar um item de mercado. Então, simplesmente vamos dizer funtion. Criar item de mercado. Então, será uma função privada. Eu vou deixar você saber o porquê. Ele aceitará duas coisas. Isso é un to 56 Token ID. Criaremos esse ID de token. O próximo vídeo. E a próxima coisa é você e o 56 lugar. Portanto, essa função aceita essas duas coisas. Agora, vamos ter alguns modificadores. Ou seja, quais são os requisitos? O primeiro requisito é que o preço deve ser maior que 0. Se não for, então escreveremos deve ser maior que 0. O próximo requisito é a mensagem de que o valor deve ser igual ao preço do anúncio. À medida que adicionamos a listagem do item de mercado, o usuário tem que pagar algumas taxas. O preço deve ser igual a essa coisa. Preço. Agora, vamos fazer esse mapeamento do item de mercado id2. A ideia será o ID do token. E nesse ID de token, estamos salvando um mercado, um objeto DOM, ou você pode dizer essa estrutura. Ele aceita OpenID e, em seguida, em seguida remetente da mensagem. Então, esse estágio que é o proprietário será esse contrato inteligente como agora, porque ele não é transferido. Em seguida, preço e valor booleano falsos. Ou seja, ainda não está sendo vendido, está apenas sendo transferido. Agora, assumiremos o endereço do remetente da mensagem de transferência de Greg, esse ID de token. E então faremos essa função que é esse item de mercado de eventos criado. E aceita argumentos, apenas mensagem de tokenização, remetente. Endereço. Isso, depois gelo e falso. Então, essa agora era a funcionalidade para criar o item de mercado é Token ID. encontraremos na próxima função. Então temos alguns modificadores que esses requisitos. Então, nesse mapeamento, estamos salvando esse valor. É um ID de token. Dessa forma o vendedor é a mensagem desse remetente e comprador. É o próprio nó deles que ou quem possui isso é isso, esse é o contrato, esse contrato inteligente interessa. E você pode estar pensando de onde vem essa transferência do chinês, essa função de transferência vem da biblioteca de adição de mudas. Portanto, é uma função embutida. Se você quiser saber mais, você pode ler sobre essas transferências, transferência segura, todos esses métodos. Mas é isso para este vídeo. Vejo você na próxima sessão. Obrigada. 6. Funcionalidade de vídeo 5 para recortar um novo ID de token: Oi. Neste vídeo, criaremos a funcionalidade para cunhar um novo token, bem como criar uma venda no mercado para cunhar um novo token. Vamos ler esse comentário. Significa um token e lista-o no mercado. Está bem? Agora a função, ela aceitará, em primeiro lugar, definição, nome, cada camada, nomeá-la, criar token. Ele aceitará um token de memória de string, URI, you e 56. Fora do preço. Ou seja, qual é o URI da imagem, bem como qual é o preço desse NFT. Essa será uma função pública. Será um pagamento e devolverá a identificação da lata do cão . A primeira coisa que precisamos fazer é incrementar o ID do token, que está aqui. Essa é a nossa variável. Dentro desse código de contador, temos essa função que é incremento de pontos predefinido no Zeplin aberto. Ele simplesmente incrementará em um, ou seja, de 0 a 11 a dois, assim. Agora, a próxima coisa que faremos é obter o ID do token atual. Isso é Ids dot current. Simplesmente depois de incrementar, obteremos essa corrente e isso é de 0, ele se tornará um. E então aqui vamos pegar aquele, é isso. Em seguida, usaremos a funcionalidade principal que nos foi dada pelo Zeplin aberto que realmente significava isso para o remetente da mensagem. E teremos um novo e também enviaremos esse ID de token. Em seguida, você definirá o URI do token. Você pode adicionar? Ele terá um novo ID de token, URI de token. E então agora vamos usar essa função idiota de item de mercado. É por isso que o tornamos privado, porque vamos chamá-lo internamente. Essa pessoa não pode chamar essa função diretamente. Primeiro, ele deve ter esse ID de token e tudo mais. Ele simplesmente aceitará um novo ID de token e esse preço. E, finalmente, retornaremos o ID do token. E, novamente, essas funções estão vindo do Append Sapling da biblioteca. Se você quiser, você pode pesquisar o que está se movendo em direção a esse URI de token definido e tudo mais. Mas esse código é uma fermentação predefinida. E aqui estamos chamando essa função, que transferirá esse token. Ou seja, primeiro ele foi cunhado na mensagem desse remetente e, em seguida, será transferido da mensagem que envia para este contrato inteligente. E é por isso que. E é assim que ele será listado no Marketplace em nome da evidência em nome do proprietário desta nova unidade. Assim. Mais tarde, você entenderá mais. Agora. A próxima coisa ou a próxima funcionalidade que criaremos é a mediação. A venda de um item de esmalte de mercado. Você também pode entender como transferência. Ele transferirá a propriedade do item, bem como os fundos entre as partes envolvidas. Ok, então vamos começar a escrever. Vai ser um divertido Chen. Vou chamá-lo de criar mercado, venda. Ele só aceitará esse ID de token. Será uma função pública e uma função pagável. Agora, vamos começar a escrever para você int I é igual ao mercado de ID. Temos esse ID de token. A partir disso, chegaremos lá. Mas depois do NFT, assim, depois do endereço, colocaremos a ideia do vestido do vendedor no mercado. Em seguida, Token ID dot seller. Agora teremos alguns modificadores, ou seja, requisitos. Primeiro requisito ou requisito de chumbo para baixo. É essa mensagem que o valor do ponto deve ser igual ao preço do NFT. Isso é loucura comprar o NFT, ele deve transferir o valor correto. A pele toca em nosso diodo para concluir a compra. Está bem? Agora, se estiver tudo bem, faremos apenas as mudanças. Id para comercializar item. nó de ID do token é igual a. Agora vamos fazer alguma mudança que é atualização. Eu simplesmente, vou simplesmente escrever aqui assim. Agora será o remetente da mensagem pagável. Agora e isso vai mudar, é vendido para verdadeiro. E então ele fará, o vendedor abordará o endereço disso. É o endereço 0, ou seja, agora ninguém é aquele vendedor. Ele já está sendo vendido. E isso significa endereço vazio. É esse endereço que pertence a saber o quê. Agora vamos incrementar os itens vendidos. Está aqui, incremente este à medida que está sendo vendido agora. Em seguida, usaremos essa função de transferência, uma função que nos foi dada pelo Zeplin aberto transferirá a propriedade. Este remetente da mensagem do contrato. E essa tokenização. Em seguida, vamos apenas transferir os fundos que são pagos. Bem, agora vamos conseguir que é o dono do contato inteligente. Nós, realmente conseguimos esse preço de anúncio. Quando alguém é NFT, é 0 algo 0,001. E também o vendedor receberá o preço de seu NFT como ele estava vendendo dívida NFT em nosso mercado como este. É isso aí. Então, esses foram os fungos. Ou seja, essa é a função necessária para fazer um mercado vender. Aqui estamos chamando essa função. Então eu espero que você tenha entendido. Se não, tente pesquisar no Google o que quer que você esteja confuso. Porque esses pontos transferidos em todos vêm do básico da solidez. Isso é tudo para este vídeo. Vejo você na próxima sessão. Obrigada. 7. Funcionalidade de vídeo 6 para obter itens de mercado não vendidos: Oi, bem-vindo de volta. Neste vídeo, trabalharemos na funcionalidade para buscar itens não vendidos. Primeiro, vamos escrever um comentário que é o retorno sobre itens de mercado não vendidos. Vamos dar um nome a isso. Itens do mercado francês. Eu tenho o nome de buscar itens de mercado porque na página inicial, ou seja, quando o usuário acessa o site, essa primeira página buscará todos os itens listados nesse mercado. E se eles estiverem listados no mercado, isso significa que todos não foram vendidos. Seja igualmente uma função pública. Ele apenas retornará ou será visualizado. Você todas essas variáveis. Ele não fará nenhuma alteração, portanto, é a visão. E isso retornará uma variedade de itens de mercado e temos que dar minha equação de dinheiro. Agora, vamos fazer alguns cálculos. contagem de itens será Ids dot current. Ok? E contagem de itens vendidos. Faremos isso é a contagem de itens. Esse ID de token é o atual menos I, vendido, não atual. Então, qual é a lógica por trás disso? Suponha que eles digam que o NFP está nesse mercado e seis estão sendo vendidos. Isso significa que a contagem de itens únicos será quatro. É por isso que essa subtração. E agora temos que percorrer nossa matriz. Então, vamos gostar do índice atual. Vamos dar um capital que eu gosto desse jeito. índice atual é igual a 0. Então, vamos ter uma matriz vazia que conterá nossos oito itens de referência. É bom para a nova matriz de itens do mercado, e isso será a contagem de itens vendidos e vendidos. Isso. Portanto, esta é uma matriz vazia. Vamos enviar itens aqui e, em seguida, retornaremos esse array. Vamos fazer um loop for. Sim, você int I é igual a 0. Eu menos do que a contagem de itens I mais, mais. Então, se, digamos, declaração if. Se eu fiz o item de mercado I mais um, porque ele vai começar de um proprietário é igual ao endereço deste contrato. Ou seja, não está sendo apenas em, já que estamos mudando o proprietário aqui se ele estiver sendo vendido. Então, se for o, então id atual, id será I mais um. E então simplesmente teremos esse garoto esperto e eu sou uma corrente de armazenamento. É igual a id para cortar arrumado. E aqui é mencionado aqui porque, como o ID do token também começa em 0, então este eu serei o mesmo que o ID do token. Como também incrementamos o ID do Token aqui. Quando estamos criando um token. Então teremos essa variável items, matriz vazia nesse índice atual que é 0. Veja se esse item, então incrementaremos o índice atual. Ou seja, da próxima vez, o item será armazenado em um no índice já que 0 já está preenchido por isso. E isso vai continuar. E no final, após o loop for, retornaremos itens de dados como este. Nós devolveremos este item. Então é assim que buscamos os itens do mercado. Espero que você tenha entendido. Caso contrário, pare o vídeo e tente entender a lógica por trás do código. Como é a única coisa que importa é que você entenda os conceitos básicos, como escrever funções por conta própria. É isso para este vídeo. Obrigado por assistir. 8. Funcionalidade de vídeo 7 para buscar itens de propriedade e listados: Oi. Neste vídeo, trabalharemos na funcionalidade a ser buscada. Nft pertence e também é criado pelo usuário. Vamos trabalhar na primeira funcionalidade, que será ativar os itens que um usuário comprou. Está bem? Agora, dê o nome dessa função. Vá buscar meus canhotos. Será uma função pública. Devoluções. Ele retornará uma área de itens de mercado. Então vamos começar fazendo isso para encantá-los. Contagem. A contagem é igual a. Assim como os IDs atuais. Então você encerra a contagem de itens. Vou explicar todo esse código. Continue escrevendo. Você em. O índice atual é igual a 0. Agora, a primeira coisa que precisamos fazer é obter o número de itens. Esse é o número de NFT de propriedade do usuário. Aqui, obtemos esse número de nome por esse cálculo. Mas agora temos que fazer um loop for como esse. É para você int I é igual a 0. Eu menos do que del item count I plus, mais se id2 market I mais um, esse proprietário é igual ao remetente do ponto da mensagem. Em seguida, incrementaremos essa contagem de itens mais um igual. Dessa forma, obteremos o número total de FTEs deste, ou seja, dos quais o proprietário do proprietário é o usuário. E depois de obtê-lo, faremos a mesma coisa que acima, como meu item infantil. Mamária, eu acho, é uma boa refeição. Item de mercado. Agora, o comprimento da matriz será a contagem de itens. Essa contagem de itens é o comprimento que fizemos nessa parte, digamos. Então eu terei um loop for. Você int I igual a 0. Eu menos do que a contagem de itens. Temos que examinar tudo. Eu mais, mais. Se AD para comercializar item. Se mais um for igual a isso é um ponto o é igual ao remetente da mensagem. Em seguida, incrementaremos a corrente. Teremos esse AD atual. Como antes. Funcionará assim como o ID do token. Em seguida, pegaremos o item. Obteremos o item do nosso anúncio de mapeamento. Em seguida, insira esse item em nossa matriz vazia de itens, ou seja, o índice atual é igual ao item atual. E, finalmente, incrementaremos o índice atual. E depois devolveremos os itens. Portanto, isso buscará os itens que o usuário comprou. Agora, a próxima função será um pouco semelhante, então vou apenas copiá-la e colá-la aqui. Ele retornará somente os itens que o usuário listou nesse mercado. Portanto, limitarei os itens em lote listados. Em seguida, será uma visão pública retorna alguma memória. As empresas de itens de hotel gostam de um pequeno token ID ponto contagem de itens atuais 0, índice atual 0. Então eu terei você e eu. Há dez para encantá-los. Conte I mais, mais. Se o item de mercado id2 aqui, será o vendedor que queremos que nos leve, na dose de chumbo. Nós já os usamos para vendê-los. Eu digo remetente ponto, contagem de itens mais um. Então temos está vazio em uma barra I é igual a 0, eu menos do que a contagem total de itens I mais, mais. Se eu fiz o ID do player do mercado para comercializar o item aqui, ele será vendedor. O remetente da mensagem. Você escreveu o ID atual. É bom ouvir isso? Ele funcionará como o ID, pois isso é tudo isso. Eles também começam a partir de 0, depois um , depois dois, depois três, essa soja, é a única razão. Em seguida, obteremos o item a partir do mapeamento. Insira isso em nossa matriz vazia aqui e, em seguida, retorne esse item. É isso aí. Portanto, essa é a funcionalidade deles para buscar qualquer um desses criados, ou você pode dizer listado pelo usuário. Então, espero que você tenha aprendido e gostado muito. É isso para este vídeo. Vejo você na próxima sessão. Obrigada. 9. Funcionalidade para revender e cancelar o item de mercado: Oi, está relacionado ao tempo. As duas últimas funcionalidades que esses dois revendem bem como podem ver uma listagem NFT. Então, vamos comentar primeiro. Permite ao usuário que a célula A2 possa ter perseguido. Quando Jim revender, você pode entrar em 56 Token ID. Durante seu preço 56? Será uma função pública, pagável. Agora, haverá alguns requisitos. As duas primeiras colunas serão um item de mercado D2. Id. O proprietário do ponto deve ser o remetente do ponto da mensagem. É como ele pode vender o NFT de outra pessoa? único item sobre isso novamente, esta operação. Em seguida, próximo requisito, precisamos alocar o item. Então id dot, não, não isso. Eu simplesmente direi valor do ponto da mensagem deve ser o preço de listagem porque aqui, novamente, você está realmente fedendo que o NFT, então você tem que pagar o preço da lista. As peças devem ser iguais a essa coisa. Raça. Se esses requisitos forem atendidos, agora basta atualizar que esse ID de token é igual a false. Em seguida, basta copiá-lo. Cole três vezes. O segundo será um balanço, seja o lugar. Se alguém mudar, o preço será pago. Remetente da mensagem Oh, não. Ah não, será de novo. Este endereço do contrato. Agora, novamente, agora é transferido para este endereço de contrato. Em seguida, diminuiremos os itens vendidos à medida que as propriedades do solo, novamente listadas. E vamos transferir essa propriedade. Esse é o remetente da mensagem. Endereço. Este contrato pode ajudar. Então é assim que escrevemos a funcionalidade para revendê-lo token. Agora, chegou a hora. Nós escrevemos essa funcionalidade para cancelar um anúncio. Essa é a lista de alguém lá, NFP para o mercado. E então eles ensinaram, não, eu não quero vender. Eu quero ser o dono de novo. Saiba que essa função permitirá que eles façam isso. Você pode vender a listagem de mercado deles. Um Chen pode vendê-los. Listagem. Isso terá, você passou pela ideia de 56 tokens novamente, esse é o token que eu preciso cancelar. Será simplesmente uma função pública. Aqui. Esses requisitos serão. Em primeiro lugar, será o mesmo. Isso é um token de identificação. Aqui. Mencionaremos esse ID do token e, em seguida, escreveremos se o vendedor é o remetente da mensagem ou não. Caso contrário, mostraremos no Lee Sellers pode realizar esta operação. E o segundo requisito será adicionado ao item de mercado. pode id dot soul, se temos que ter certeza de que não estamos apenas no mercado, podemos vender termos que ainda não estão. É isso aí. Esses requisitos são atendidos. Então, simplesmente, faremos a atualização no mapeamento. Isso é ID do token, que é igual ao proprietário será novamente esta mensagem de que ID do remetente que o vendedor, vendedor será nulo. Esse é o endereço, que é o endereço 0. E depois ID. ID do token não vendido, simplesmente o tornará vendido. O item é simplesmente vendido para o próprio usuário. Podemos apenas dizer incremento de ponto de item porque nós, vamos compartilhar nosso. Esse é o preço do anúncio. Agora cabe à não auditoria. Use-o se ele quiser vendê-lo ou não porque já nos pagou esse preço de listagem. Portanto, vamos apenas transferir esse preço de anúncio para nós, que somos o proprietário do contrato inteligente. Transferir o preço do anúncio. E transferiremos a propriedade desse endereço para o remetente da mensagem, não para o ID do token. Então, essas são as funcionalidades que agora estão prontas. Nosso contrato inteligente está concluído. Espero que você tenha aprendido muito aqui. Caso contrário, certifique-se de não seguir em frente, mas tente entender o que essa palavra-chave faz, o que essa palavra-chave faz, quais conceitos básicos. No próximo vídeo, trabalharemos no teste de unidade para garantir que todas essas funções estejam funcionando, prefira funcionar corretamente antes implantá-las na rede de teste. Mas isso é tudo. Obrigada. 10. Teste de unidade de vídeo 9 para implantar o contrato: Olá, bem-vindo ao novo módulo em que trabalharemos no teste de unidade, já que o Blockchain é imutável. Portanto, antes de implantar nosso contrato, escrevemos testes de unidade para garantir que todas as nossas funções e variáveis em nosso contrato inteligente estejam funcionando. E eles transformam os valores corretos. Usaremos a biblioteca Mocha Chai para esse fim. Então, agora vamos começar. Nessa pasta de teste, crie um novo arquivo e nomeie-o como NFT market. Saúde. Requer alguns laboratórios que estejam dentro da biblioteca infantil. Exigiremos que exigiremos essa expectativa. E nós vamos, vamos exigir isso para nós da biblioteca de Harvard. Assim. Espero que você saiba como escrever um teste em. Isso é mais tímido porque esses são os princípios básicos. Eu não estou, eu não estaria explicando muito. Vamos dar um nome a isso. Descrever é usado apenas para agrupar ou você pode dizer aninhar nossos casos de teste. É assim que escrevemos. Mocha usa ganchos para organizar essa estrutura. Uma delas é essa descrição. Será des, chore. Assim. Isso será descrito. Agora tem, vamos ter alguma maneira que era se o mercado então liderasse, sorriso NFT fez n. Se D menor. Então vamos listar, elogiar e liderar. Contrato ou não, deserto. Todas as variáveis. Liderado por Entrez deixou a liderança NFT, mercado atriz de mercado como esta. E se o endereço do comerciante e nós teremos o preço do leilão, o preço leilão, você pode apenas dizer o preço de venda. Estou apenas escrevendo em uma constante para que seja fácil usar o Android. Um terceiro, assim. Vamos apenas escrever nos detalhes de Henrik. Agora. A primeira coisa que faremos é usar um antes de cada gancho. Simplesmente, este é um gancho que será executado antes de cada caso de teste. Então, só temos que escrever uma vez. Aqui. Vamos ler dest para implantar o contrato. Vamos ter mercado NF2 é igual a esperar. Comedores não conseguem contrato de fábrica. Nosso carro. nome do nosso contrato é NFT marketplace. Do que o mercado NFT é igual a esperar. Mercado Nf2, não implantar. Esse é o código de implantação. Vamos esperar até que seja implantado. Em seguida, obteremos endereço de downmarket e o armazenaremos nessa variável que é o endereço de ponto de mercado NF2. Em seguida, obteremos alguns endereços de teste que são contratados ou não. E pelo Jezreel, pegue de comedores que ficam com sinusite assim. Serão contas falsas dadas a nós pelo ambiente cabeça-dura. Você pode dizer, sim, o meio ambiente. Então teremos preço de listagem igual a aguardar. Se o mercado pontuar. Aqui, agora chamaremos essa função que é obter preço de listagem. E agora podemos chamá-lo com essa instância que é a instância implementada pelo NFT. Então nós simplesmente gNg toString é o preço de listagem da2, string, assim. E a próxima coisa que faremos é criar uma função que nos ajudará a cunhar o NFT. Vamos mais tarde. Quando estamos testando, não precisamos escrever esse código de novo e de novo. Lista de significados. E se D for igual a um coletor, ele aceitará esse URI de token. Transação equilibrada de preço do leilão. Esta é a variável de estado, é igual a await, NFT market dot create dois candidatos que agora estamos chamando essa função create token enviará esse token URI, preço de venda. E nós temos passeios. Portanto, certifique-se de que estamos enviando o preço do anúncio. Então vamos fazer com que o papai veja, aguarde a transação que o peso balanceado ID da moeda para o recebimento. Esses eventos. ID de token de 0 ponto ponto. Você pode estar pensando, Espere, eu só estou explicando. Você pode estar pensando o que é isso? Você pode estar pensando o que é isso? Então, quando estivermos esperando por essa transação, ela vai salvá-la aqui. E quando imprimimos, é se você quiser consolar o recebimento do registro de pontos, então você verá que ele está sendo aninhado. Ou seja, já haverá mapas que existem. Então, estamos apenas obtendo esse ID de token dele. É isso aí. Então essa é a base do nosso teste unitário. No próximo vídeo, escreveremos todos os casos de teste. Então, vejo você na próxima sessão. 11. Teste de unidade de vídeo 10 para hortelã e lista nft: Oi, bem-vindo de volta. Neste vídeo, escreveremos a mesa da unidade para alistar a e F d. Então, vamos começar com a descrição. Ou seja, como sabemos, podemos trabalhar usando este clube, podemos aninhar nosso ou podemos aninhar nosso teste de grupo e tudo mais. Isso será principal e listará um novo token NFT. Em seguida, funcione. A primeira coisa que farei é const token URI é igual a, é igual a. Eu só terei um domínio. Apesar. Você pode adicionar HTTPS, então? Algum sinal de que você é? É isso aí. Isso é só um boneco. Mais tarde, usaremos URI de token real. O primeiro caso que estiver usando o ID no primeiro caso de teste, devemos recompensar se o preço for 0. Este é o primeiro caso de teste. Digamos que uma pia. Nós esperamos. Agora vamos usar para esperar da biblioteca infantil. Esperar. Simplesmente usaremos esse significado e listaremos o NFT. Enviaríamos esse URI de token, preço final. Nós enviaremos 0. E simplesmente, será para ser revertido o peso. E a mensagem que receberemos, receberemos essa mensagem. O preço deve ser maior que 0. Isso cole aqui. Este é o primeiro caso de teste. Esse segundo caso de teste será recompensado se lugar do anúncio não estiver correto. Função Sinc. Primeira coisa que chamaremos de criar NFT. Quando Chen Here, const Token ID vai aguardar, desculpe, acabei de removê-lo. E agora eles esperam. Esperar. Nft, ponto de mercado, criar token. Aqui. Basta enviar você pode adicionar preço do leilão e o valor, basta enviar 0 para estar no peso morto do trabalho. Só espere. Outro será recompensado e jogará. Agora, copie, este lugar deve ser igual ao preço do anúncio. Agora você deve estar pensando por que eu não usei essa função NFT da lista de manutenção. Porque aqui estamos mudando esse valor. Mas aqui não estamos aceitando nenhum valor como parâmetro. Então, eu apenas chamo estaticamente essa função Create Token. É uma função pública, então podemos chamá-la. É isso aí. Agora, vamos pelo menos esses dois casos de teste. E antes disso, eu gostaria de excluir esse bloqueio e nossos casos de teste. Sim, eles fizeram um dia depois do que nos roteiros. Além disso. Basta excluir é implantado e queijo. Ok, então agora temos apenas o mercado NFT. OK. Agora traga a linha de comando nessa pasta primeiro set e px, eu tinha compilado. Vamos ver o que temos para instalar obrigatoriamente essa caixa de ferramentas. Ok, apenas faça isso. Npm, instale o gnomic labs foundation hard edge na caixa. Amarele alguns módulos de nós e destaque o conflito que está aqui também. Foi necessário. Essa é a razão pela qual meu pai começou e ver se novamente conseguimos algum editor ou não. Ok, na Suécia, estande. Agora, vamos compilar novamente e ver o que isso nos dá. Ok, também, eu tenho algum erro que é 170 decréscimos de linha. ortografia está errada. O reclamante, direi que essa disposição de usar agora, cabeça-dura estava cheia. Somos jogos mais difíceis. Vamos ver. Capacete duro. Apenas tente verificar nossos testes. Veja, esses dois estão funcionando. E se você quiser, você pode simplesmente remover um desses. Ou, se quiser, você pode usar a base gnômica. A criança amadurece. Depende de você, mas agora é só um aviso. Isso não interromperá o código. Agora, o próximo caso de teste será oito. Deve criar um NFT com o nó correto. E o URI também pode afundar quando Chen. Este primeiro skit que ID de token, ID de token é igual a await. Manter lista NFT. Temos esse URI de token acima. Então vamos pegar o principal morto. Então você pode, ou vai fazer um mercado MFT de leitura desse token URI? Posso fazer const ou node e trace é igual a aguardar o ponto de mercado o nó do token ID. Então, esses dois estão bem definidos dentro do contrato. Ou seja, podemos conseguir isso enviando os dois canadenses. A próxima coisa é apenas verificar, ou seja, esperar que o endereço do proprietário seja igual ao endereço do mercado f. E a segunda coisa, espere um URI de token morto médio igual ao URI de token. É isso aí. Este é o caso de teste aqui. terceiro caso de teste e caso de teste final neste grupo de pegada de mesa devem atender ao item de mercado criado após o sucesso dessa coisa de NFT. Esta função sinc. Então, simplesmente adicionaremos a transação const é igual a aguardar o token NFT OR gate dot create. Então, você pode o preço do leilão de RA? O valor será o preço de oferta. Então deixe as armas. O assento é igual ao peso do ponto da transação. Esperar. Antes desse peso. Só esse ID de token. A mesma coisa que vemos nos eventos. Esse argumento não é canadense. E então esperamos que a transação seja animada. Ele emitirá esse evento. Primeiro temos que escrever a instância do contrato e depois o que ela emitirá. Ele emitirá aqui que isso, isso, essa coisa, marca o item de mercado criado com argumentos. Posso fazer o contrato ou o endereço do nó? E se o endereço do mercado, preço do leilão e a venda forem falsos. Dito isso, digamos, Bem, novamente, vamos tentar testá-lo. Em grande número. Argumento. Deveria verificar. O que isso é adicionado. Manter lista aceitará duas coisas. Eu esqueci de mandar. Elogios ao oxigênio também. Vamos salvá-lo. E mais uma vez, vamos tentar. OK. Então Alda para casos de teste e agora correto. Portanto, estamos seguros de que essas funcionalidades estão funcionando, pelo menos. No próximo vídeo, escreveremos mais casos de teste. Obrigado por assistir. 12. Teste de unidade vídeo 11 para executar venda de mercado: Oi, bem-vindo de volta. Neste vídeo, criaremos nosso próximo teste dex que é executar a célula de mercados. Novamente, é assim que descrevemos. Certifique-se de distinguir casos de teste separados. Ou seja, aqui vamos adicionar, Executar, digamos, de um mercado, item Place. Em seguida, funcione. Novamente, vamos ter um URI de token. Esses, só podemos copiar isso. Em cópia disso. Então vamos ter o primeiro caso de teste que será será revertido se for leilão. Quando a não está correto. Como dizer const novo token NFT é igual a aguardar significava alistar token NFT, URI e local de leilão. Então faremos x, x e f d market connect, biota desk porque agora temos que mudar o endereço deles. O vendedor não pode comprá-lo. Então, se criarmos mercado, venda, venda de mercados, novo valor de token NFT, estamos apenas enviando valor aleatório para não ser revertido. E aqui ele será desviado com isso. Isso é enviar Pode ficar louco assim. OK. Então, o próximo caso de teste será por um novo token. Oh, não. Entradas. Dizendo novamente, teremos const, novo token NFT é igual a aguardar. Significou alistar URI de token NFT e local de leilão. Em seguida, adicionaremos const. O endereço do proprietário é igual a aguardar o mercado NF2. Ou nada disso será constante ou saberá desse token quando for listado. Então, agora vamos esperar, agora o proprietário é o mercado. Endereço. É aqui que vamos esperar, esperar, oh, nenhum ponto de endereço igual a, igual ao mercado NFT. Eu me visto, vestido comercializado. E então vamos o quê? Vamos apenas criar a venda no mercado que é NFT. Market dot connect se conectará com o endereço do byte. Dot create market silver vai comprá-lo. Novo valor do token NFT, preço do leilão. E depois disso, verificaremos o novo nó. E o vestido é igual a aguardar o ponto do mercado NFT o nat do novo token NFT. Aqui. Agora, o novo proprietário é o endereço do byte. Temos que verificar se isso está funcionando ou não. Espere que o novo endereço do proprietário seja igual a comprar no endereço desse endereço. OK. Agora vamos verificar se está funcionando corretamente ou não. Sim. Portanto, esse caso também está correto. Essa é a primeira coisa que apresentou o preço do leilão errado. Quando estamos comprando, não estamos enviando o valor correto. E então, no próximo caso, garantimos que a transferência de propriedade esteja funcionando corretamente. É isso aí. Então é isso para este teste de unidade de teste. No próximo vídeo, continuaremos trabalhando em mesa adicional para garantir que nosso contrato não esteja com defeito ou seja algum ou não haja nenhum bug nele. Obrigada. 13. Teste de unidade vídeo 12 para revender item de mercado: Oi, bem vindo de volta. Neste vídeo, escreveremos um teste unitário para revender um item de mercado. Como você compartilha assim, o barro estava aqui. Escreveremos a venda de um bom item de lugar. Em seguida, funcione. Vamos ter esse URI de token. Em seguida, o primeiro caso será, devemos reverter se o preço de listagem do proprietário atual não estiver correto. Agora, aqui, vamos ter o novo token NFT igual a aguardar lista mantida, token NFT, URI e preço do leilão. Em seguida, simularemos await, NFT market dot connect by Red Dress. Crie, venda no mercado. Novo token NFT. O valor será o preço do leilão. Então, teremos a expectativa de que isso espere. Agora entenda isso. Aqui. Nós mantivemos, que é mantido esse token com o endereço do proprietário do contrato. Mas na próxima linha, estamos tentando, ou você pode dizer, acabamos comprar um token de ponto e agora o proprietário é esse endereço de byte. Agora, se tentarmos revender, esse é o token de ponto do mercado NFT. E agora estamos tentando revendê-lo com o endereço do proprietário do contrato, já que não estamos usando o ponto connect. E aqui, como você pode ver, novo preço de leilão de token NFT, lugar de listagem de valor, pois estamos tentando listá-lo novamente. Isso será revertido, ou seja, o peso será revertido. Aqui você pode ver que está salvo aqui. Somente o item ou não pode executar esta operação. Verifique se ele está lendo os códigos. E a próxima coisa que faremos é acordar. Espere NFT, market dot connect, endereço do comprador, token de revenda ponto. Está bem? Sim, podemos ver que temos tudo, ok, isso é novo token NFT, então preço do leilão do que valor. Mas estamos enviando o preço do anúncio errado. É 0, então deve ser recompensado por ser peso morto. Você pode ver aqui, o peso deve ser revertido. O preço era igual ao preço de anúncio como este. Está bem? Este caso de teste está localizado aqui, temos isso para esperar aqui. Em seguida, o próximo caso de teste será garantir que a revenda esteja funcionando. É por um novo símbolo. E depois revendê-lo. Sim, eu vou ter essas duas linhas. Esse novo token NFT é igual a manter a lista naquele dia. Então, estamos tentando conectar por endereço para criar a venda no mercado. Agora vamos fazer const token. Proprietário. O endereço é igual a aguardar proprietário do mercado NFT do novo token NFT. Agora, aqui vamos verificar. Agora, o novo nó é o comprador. Endereço. Espere que eu me dirija para igual. Por isso. Eu visto endereço de ponto. Ok, agora é simples. Isso é simplesmente uma venda no mercado. Então, o que faremos, perderemos a conexão com o mercado NFT, endereço incorreto. Voltaremos a revender esse token para o contrato. É o mercado, novo token NFT, preço do leilão, preço de listagem de valor. E então teremos novo token é uma boa taxa se o mercado que não é novo token NFT. E agora aqui, agora o novo proprietário deve ser o endereço do mercado porque, novamente, ele está sendo reassentado. Quem é o proprietário quer revendê-lo para o mercado. Esperar que novo proprietário do token seja igual. E se o mercado, tudo bem, vamos salvá-lo e testá-lo. Vamos ver se essas caixas de mesa estão funcionando agora. Veja que o item de revenda pós-venda também está funcionando sem problemas e sem falhas, sem adição. Então é isso para este vídeo. Vamos continuar esta série de testes unitários. Haverá mais textos onde apenas um ou dois vídeos. Depois disso, implantaremos este contrato. Obrigada. 14. Teste de unidade vídeo 13 para obter itens de mercado: Oi. Neste vídeo, escreveremos um teste unitário para buscar itens do mercado. Vamos começar com uma declaração de descrição. Em seguida, teremos o nome completo que pode obter itens de esmalte. Como você deve. Teremos esse domínio. E também se você quiser, você pode simplesmente escrevê-lo aqui também. Depende de você aqui. Mas estou apenas colocando-o dentro de cada mesa. Garras de caranguejo. Vamos fazer o primeiro teste unitário do escopo Disney. É que deve combinar. O número correto de itens não vendidos. Will realmente significava três N de t é esse cachorro que você pode organizar. E agora o leilão é jogado. Vou copiar duas vezes. Agora temos três itens em seu mercado. Chumbo e vendido. Itens é igual a aguardar. E F D, comercialize esses itens de mercado. Vamos ver onde está essa função? Veja que temos esses itens do mercado de busca. E então eu vou apenas escrever expect. E itens vendidos. comprimento do ponto será igual a três, pois temos 3,5 dias. Então, o próximo caso deve ser, se alho, número de itens que o usuário perseguiu. Vamos ter liderado. O token Nft é igual a aguardar significa alistar URI do token NFT, preço do leilão. Então, novamente, pretendemos LFTs. Agora, o que vou fazer é criar uma venda de mercado, é NF2 market dot connect. Vou usar, vou escrever o endereço do byte. Então. Crie venda no mercado. Ok? E eu dou esse token, eu fiz esse ID de token NFT. Então você será menos. Acho que estou comprando. Então, raramente será o preço do leilão. Ok? Agora, vou simplesmente liderado pelo nosso total de itens é igual a aguardar a conexão NFT via vestido. Agora vou ligar para buscar. Meu NFC é esse, que meu NFT é. Simplesmente espere. Este é o comprimento total do ponto dos itens do comprador. Espero que isso seja igual a um, já que comprei apenas um NFT e outros ainda estão levantados, esses dois ainda estão listados no mercado. Então é assim que testamos isso, esteja funcionando ou não. E esse terceiro caso de teste será número correto de itens listados por um usuário. Isso garante que os usuários em particular o número de itens corretos. Eu simplesmente quis dizer assim. Em seguida, o terceiro, vou me conectar com o mercado NFT, ponto, conectar com os biólogos. Isso é fundamental. Lista. Isso no mercado. Crie token. Então. Assim como URI, preço do leilão, valor, preço de listagem. Agora, deixar listagens próprias é igual a esperar. E se o mercado. Agora, aqui podemos ver que esses itens de patch estão listados, mas isso é feito por um usuário específico. Agora estamos tentando fazer os itens de busca listados pelo proprietário do contrato, não o endereço do comprador. O proprietário do contrato listou n de t é simplesmente esperado. Listagens de proprietários. comprimento do ponto deve ser igual, igual a dois. É isso aí. Vamos salvá-lo e agora testá-lo. Veja todos os casos de teste. Ok? Portanto, agora temos certeza de que pelo menos esse mercado e a busca de itens de baixo mercado estão funcionando corretamente. Isso é tudo para este vídeo. Vejo vocês no próximo vídeo, que será o vídeo final desta série de testes. E Q. 15. Teste de unidade de vídeo 14 para cancelar a listagem de mercado: Olá, bem-vindo ao vídeo final desse módulo de teste, onde escreveremos uma unidade de tubo de ensaio pode vender listagem de mercado. Agora, vamos ler a declaração de descrição. Ainda será possível obter a lista de lugares. Quando Chen você pode. Vamos pegar o URI do token. Vamos ver o, neste caso. É, devo dizer, e retorna o número correto de anúncios. Vamos ter NFT. Token é igual a 08. Manter lista NFT. Temos o URI do token e o preço do leilão. Então, queremos criar tokens. Eles apenas copiarão isso, conectarão por endereço dot create token. Queremos criar esse token usando o endereço do comprador. E o primeiro foi criado a partir do contrato e é proprietário dos interesses do contrato. Agora vamos deixar que os itens não vendidos sejam iguais a aguardar mercado NFT que os itens do mercado esperam. Assim, como termos, o comprimento do ponto deve ser igual a três, é igual a três. Então, o que faremos, cancelaremos um dos produtos que fazem parte da lista deles. Usar pode vendê-los listando. E simplesmente enviaremos o ID do token. E então vamos deixar, deixar novo item. Então, faremos uma espera no mercado NFT que busca itens do mercado. Isso é o quanto eu listei agora no mercado simplesmente aguardam. Espere novos itens não vendidos que o terreno deve ser igual a dois desde quando agora é cancelado. Vamos ver se essa coisa está funcionando ou nos dando um aerador. Sim. Então, tudo está funcionando. Todos os casos de teste foram aprovados. Então, agora podemos relaxar porque não há erro em nosso contrato inteligente. No próximo vídeo, simplesmente implantaremos o contrato inteligente para correlacionar a rede de teste. E então, mais adiante, trabalharemos no front-end. Obrigada. Vejo você no próximo vídeo. 16. Vídeo 15 Escrevendo o script de implantação: Olá, bem-vindo a este novo módulo em que escreveremos o script de implantação ou nosso contrato inteligente. Basta fechar esse arquivo de teste. Não precisamos mais disso. Na pasta scripts, vamos criar um novo arquivo e nome. Nós implantamos o ab.js. E vamos começar a escrever o código. No início, exigiremos um conciso no laboratório de cabeça dura. Então, vamos ter uma função principal. Aqui. Só temos que implantar nosso contrato como fizemos no arquivo de teste. Assim como a fábrica contratada é igual a esperar que os comedores obtenham contrato de fábrica. Vai ser, vamos ver. Novamente, eu não quero cometer nenhum erro. Copie, cole contrato const é uma implantação de radar de fato de contrato. E cada contrato implantado console dot log on track. Eles gostam de ter no caminho certo e insistir em apenas fazer o login no console. Porque certifique-se de salvar o endereço para usar mais tarde. No front-end. Em seguida, criaremos outra função. Como é uma função assíncrona, diremos que run main é igual a um coletor. Então teremos um bloco try catch. Pode aguardar a saída principal de Ross se tudo estiver bem, então saia. Se não, então console.log o editor e processe essa saída. Peso um. E, finalmente, essa pista em funcionamento. Mas é assim que escrevemos o script de implantação. Ele será visto na maioria dos projetos. Você só precisa mudar esse nome para o nome do seu contrato, e pronto. Você pode simplesmente copiar e colar esse código em seus outros arquivos também. Agora, para implantar nosso contrato inteligente, temos que usar um comando que é e px. Eu tinha fugido. Em seguida, scripts internos para mulheres, implante isso js. Mas depois disso, temos que mencionar a rede também com esse traço, rede de traço e, em seguida, o nome das horas está correlacionado. Esses vão ao ar. Mencionamos no arquivo de configuração do ponto iodeto e, em seguida, pressionamos Enter. Pode levar algum tempo. Portanto, nosso contrato está sendo implantado neste endereço. Certifique-se de copiá-lo. Porque no próximo vídeo, quando criarmos um projeto de produto Next JS, usaremos esse endereço. Além disso, se você quiser, você pode apenas verificar as datas. Eles vão fazer a varredura de ITO e, em seguida, simplesmente colar seu endereço aqui. Agora você pode ver que este é esse endereço sendo bloqueado, blockchain 39 segundos atrás. Então, criamos esse contrato que diz, é assim que você implanta seu contrato. Obrigada. 17. Configuração de vídeo 16 e comece a trabalhar no Próximo js: Olá, bem-vindo ao novo módulo, onde trabalharemos na interface do usuário. Agora, a parte do contrato inteligente está concluída. Podemos começar a criar a interface do usuário. Usaremos o próximo JS, que é uma estrutura React. Mas para criar o próximo aplicativo js, basta usar esse comando, que é Bx. Crie. Próximo aplicativo e nomeie-o como cliente. Além disso. Agora, para interagir com nossa taxa de contrato diplóide x. E só temos que dizer, ok, agora está instalando. Agora, para interagir com esse contrato inteligente implantado, precisaremos de duas coisas. O primeiro é o endereço do contrato, que temos aqui, e que Amy, eu agora para obter a EPA, simplesmente temos que copiar este arquivo que está nos artefatos. Nós temos os contratos. E em seus contratos, temos esse arquivo dot json do mercado NFT. Nós simplesmente temos que copiá-lo. E então vamos ver onde eles estão. Conheça aquela pasta do Glenn. OK. Agora está feito. Vamos ver a reivindicação deles, vamos ver que temos páginas oblíquas, estilos, nossas listagens. Então, aqui está simplesmente criar uma nova pasta e chamá-la de ABI. E cole esse arquivo JSON aqui assim. Está bem? E também para esse endereço de contrato na pasta do cliente, vou criar um novo arquivo e nomeá-lo. Ponto de configuração J S. Aqui. Sim, terei duas variáveis. Primeiro, exportamos const, endereço do contrato. E a segunda coisa que precisaremos é a URL que é const em menos. Url é igual a assim. Para o endereço do contrato, basta imprimir este e colá-lo aqui. A infusão. Você só tem que ir aqui. A mesma coisa, chave gerenciada e copie esse URL e cole-o aqui. Essa é a rede principal. Não, eu não preciso deles na rede. Vamos ver. Eu preciso da rede mais recente. OK. O URL inferior também. Agora, com os próximos anos, usaremos um framework CSS conhecido como tailwind é um utilitário para framework CSS que facilita a adição de estilo e a criação de sites bons e bonitos sem muito trabalhar para instalar essas dependências de vento a favor. Primeiro, temos que ir para o diretório do cliente, cd para o cliente e digitar este comando, npm. Instale o negócio quando o CSS em Delhi for o CSS mais recente, corrigir e direto mais recente. Isso. E basta pressionar Enter. Saiba mais sobre o Tailwind e tudo mais. Você pode simplesmente escrever. Próximo xadrez. Um meio de vida. Aqui. Você pode simplesmente ler a documentação diz, bem, faremos essas mudanças. Agora, como você pode ver, o que o comando e todos os via instalaram, instalaram. Os pacotes só, eu vou verificar uma vez, ok. OK. Agora vamos criar os arquivos de configuração necessários para o Tailwind trabalhar comigo no próximo ano é o arquivo Tailwind dot config dot js e o arquivo post sss dot config dot js. E podemos fazer isso executando este comando e bx. Quando o CSS está nisso, é isso. Temos esses arquivos agora. Em seguida, configure nossa parte de conteúdo do modelo em Tailwind dot config dot js aqui. Como você pode ver, nesta linha, nós simplesmente temos que copiar isso. Temos cadeiras, dx e temos essa linha. Basta copiar esta linha deste site que está adaptando o CSS e como instalar nos próximos anos. E cole aqui assim. E, em seguida, exclua a barra de estilo de codificação, CSS global que está aqui. Aqui, exclua isso e substitua-o por essa linha de código. Esta semana, essa linha de código, é isso. É assim que a configuração é feita. Então, vamos em grande estilo, poucas dependências necessárias, que serão necessárias mais tarde. Nesse Glenn por menos, simplesmente escreva npm install tree model space XES. O modelo de árvore da Web permite que você conecte seu aplicativo a muitos provedores de carteira, como Coinbase, MetaMask, wallet connect e XES, facilitando a execução como solicitação HTTP síncrona para descansar, endpoint e execute a operação. Usaremos o XES para buscar dados para a API DOM posteriormente. Então, agora simplesmente vamos executar nosso próximo aplicativo JS usando o npm run dev. Ok, vamos lá. E simplesmente o URL localhost 3 mil. E você pode ver que temos nosso próximo aplicativo js em execução. Então essa parte de configuração está concluída. Vamos trabalhar na próxima parte do front-end GS. Remova tudo no arquivo index.js, que está dentro das páginas aqui. Temos o arquivo index.js. Removemos tudo e começamos com a importação de dependências. Isso é importante. Éteres. Éteres. Em seguida, importe, use e afete o estado de uso gama do React. Então temos duas entradas x, z OS de nós. Então temos que importar modelo de árvore, três modelos. Em seguida, importaremos contrato e vestimenta. E isso é daqui. Estou falando sobre esses estudos, endereço do contrato e um URL no URL do arquivo de configuração assim. E, finalmente, vou importar esse mercado NFT dessa instância de contrato da ABA usando esse conjunto de dados. Temos o ABA e, em seguida, temos o arquivo dot json do mercado NFT. Esse arquivo que estamos exportando por padrão é NFPA. A ortografia está errada. E se o mercado for distinto. Agora, vamos ter um padrão de exportação. Espero que você saiba um pouco de reação difícil e no próximo ano é porque isso não vai te ensinar, é fazer realmente é tudo sobre o retorno do mercado NFT. Nós temos essa div. Simplesmente. Nós temos, vamos voltar, Vamos ver se eu salvo. O que acontece? Veja, temos isso de boas-vindas em casa. Eu sei que não está parecendo bom agora. Mas essa é a primeira coisa. Vamos trabalhar na parte de navegação para baixo, que será persistente em todas as páginas. Para configurar isso, precisamos acessar esse arquivo ab.js, que está dentro das páginas. E aqui simplesmente temos que devolver várias coisas. Então, primeiro de tudo, você simplesmente não o exclui, apenas corta. Então, aqui dentro, teremos um div e colaremos abaixo. E acima desse componente, teremos nossa navegação nesta navegação. Agora vou começar a usar o Tailwind CSS que é limitado pela adição de seis. Então eu terei uma tag p Meta pior. E se a loja, vou dar um pouco de preenchimento para isso também, texto ClassName. Para Excel. Bem no topo. Vou importar o link do próximo link. Então eu simplesmente terei um div vazio, que será a margem flexível dos quatro primeiros. E então vou começar a ter meu link. Esse link deve F. E dentro desse link, terei uma etiqueta âncora. Dê o nome de casa. Vamos ter alguns nomes de classe margem direita ou texto sendo 500. Assim. E agora basta copiar e colar três vezes. O próximo HF será criar NFT. Serão margens seis. E vou limitar vender, vender, NFT. Então o próximo SELF será meu. Se esses e eu simplesmente nomearemos é meu NFT. A última navegação será o painel do Creator. Painel de controle. Basta dizer, bem, agora vamos verificar nosso site. Veja, nós temos essa casa. Está parecendo decente. Não vou dizer que este é o melhor design, mas nosso foco será mais na implementação completa desse mercado NFT. Você pode alterar o design mais tarde usando qualquer trecho ou código que você conseguir na internet, depende de você. Então é isso. Para este vídeo. No próximo vídeo, trabalharemos na funcionalidade para mostrar que o NFP está aqui a partir do blockchain. Obrigada. 18. Função de vídeo 17 para carregar NFT: Oi. Neste vídeo, trabalharemos na tecnologia médica para carregar o NFT. Então, vamos começar com algumas variáveis. E se D estiver definido, e se for local para usar o estado, usaremos o gancho React e o deixaremos vazio logo no início. E isso são segundos. O estado será o estado de carregamento. Conjunto. O estado de carregamento é igual ao estado u. E no início, simplesmente escreveremos não carregado. Como isso acontecerá, mostraremos um indicador de carregamento ou um texto enquanto buscamos no blockchain. Agora, vamos começar com nossa função. Vamos chamá-lo, Senhor. E se isso acontecer, a primeira coisa que faremos é ter um provedor, novos comedores, o provedor de RPC JSON de pontos de alta dose. E em segundo lugar, teremos uma instância do nosso contrato de mercado. Contrato. Em seguida, o primeiro parâmetro pega o endereço do contrato. Em segundo lugar, é preciso o ABA. E cansado, leva o profissional escondido, é aqui que estamos usando o JSON RPC. Você pode pesquisar no Google o que é, o que faz o JSON RPC e tudo o que faz. Mas em termos simples aqui, ele simplesmente não autenticará o usuário usando a máscara Meta. Como v acabou de buscar todos os dados, não alguns dados específicos relacionados ao usuário. Então, vamos ter esses dados. Chamaremos essa função em nosso contrato, que é chamado de itens do mercado de animais de estimação Miss. Então essas são Alda, isso é tudo. Nft é. Isso é o que ele faz. Além disso, essa carga NFT deve acionar sempre que alguém chega ao nosso site, essa é a primeira coisa. Usaremos o gancho de efeito dos EUA e chamaremos essa função assim. E deve ser chamado apenas uma vez. Então, aqui, esses são apenas conceitos de reação. A próxima coisa, o que faremos é obter uma matriz de itens que vamos primeiro convertê-lo, convertê-los em um objeto. Ou você pode dizer que isso é apenas um objeto JavaScript. Os itens const também aguardam o início do rami. Aqui. Temos esse mapa de pontos de dados. Dentro dela. Temos uma pia. Eu gosto disso. Agora. Primeiro, vamos pegar esse token, URI. Contrato de mercado. URI do token. Simplesmente enviaremos esse ID de token e, com isso, obteremos o URI do token. Ou você pode dizer que o URL HTTP. Então. Agora usaremos a biblioteca do sistema operacional x z. É XES get token URI. Então temos esse preço. Vamos convertê-lo em string. Ou seja, comedores. Faça negócios nesse formato. Unidades. Eu ponto preço ponto duas cordas. Ok, agora vamos criar um objeto, objeto JavaScript. O primeiro que elogiamos, pode ser o Token ID. Serei eu, posso número de identificação, depois vendedor, um vendedor. Então temos o dono, o dono. Então temos a imagem. Imagem que escreveremos como dados metta dot, nome do ponto. E a descrição será atendida na descrição dos dados. E então simplesmente devolveremos o item. Então, o que ele faz é apenas criar uma matriz de itens, objetos. Portanto, esse mapeamento simplesmente precisa e uma variável, você pode definir esses itens e armazenar tudo nessa área. E, finalmente, o que faremos é dizer que o estado NFT com essa variável de itens e definir o estado de carregamento como simplesmente carregado. Assim. Esse material funciona para garantir que estamos carregando os LFTs do blockchain. A próxima coisa que faremos é aqui, faremos algumas mudanças de retorno. Isso está aqui. Se, se o estado de carregamento for igual a não carregado, ele simplesmente retornará um Sobrenome, bx dois em d. Isso está implorando no eixo x, lendo por que então eixo y? X é três x. Estes são todos CSS de vento de cauda. E simplesmente escreveremos o carregamento de peso. E se o estado de carregamento for estado de carregamento igual a carregado, mas também e se D for esse comprimento não está lá, ou seja, diz 0. Em seguida, retornaremos novamente outro H1. Mas aqui simplesmente não escreveremos itens no mercado. Está bem? E se ambos forem falsos, voltaremos simplesmente para casa deles. Mas isso vamos configurar mais tarde nos vídeos. Agora vamos economizar. Vamos ver se j está no editor. Quando tudo está funcionando. Vamos ver, temos algumas edições aqui. Vamos diferenciar. Vamos ver. Acho que podemos ter cometido algum erro, não conseguimos detectar a rede. Vamos tentar de novo. Acho que não o temos instalado. Acho que esse pode ser o caso. Vamos ver se pode ser um problema aqui porque não consigo ver comedores. Vamos instalá-lo primeiro. Vm no interesse das estrelas. Ok, vamos ver. Agora temos e tos em grande estilo. Vamos fazer npm run dev. Vamos conferir o ganho. Só me dê um tempo. Vou ver o que é a edição. Ok, eu peguei o erro. Aqui. Nesse URL JSON RPC, você precisa inserir seu URL inferior, que você está obtendo do arquivo de configuração. Vamos apenas copiar isso e colar aqui. É isso aí. Esse era o problema. E agora você pode ver se eu atualizo também. Ele não mostra nenhum item no mercado. Mas é isso para este vídeo. Obrigada. 19. Função de vídeo 18 para comprar NFT: Oi. Neste vídeo, escreveremos a função de comprar um NFT. Então, abaixo disso, vamos escrever a função sinc por NFT. Enviaremos aqui os dados NFT como um parâmetro. Então. Agora, usaremos o modelo de três da Web para nos conectarmos ao MetaMask. Anteriormente, não nos conectaremos ao meu Damasio apenas estaticamente usando JSON RPC e chamando essa função. Mas aqui precisaremos do endereço do usuário voleio que eles vestem, é por isso a conexão const é igual a aguardar o modelo da árvore dot connect. Então const Hadar é igual a mu. Acontece que o triploide da web ponto do provedor começa neste momento. E temos que enviar essa conexão. Então, o que faremos é garantir que o usuário esteja conectado a essa rede. Eles vão conseguir que a rede seja igual a aguardar a rede ponto get do provedor. Então sabemos que o ID da cadeia líquida, ou seja, seu ID é cinco. Então, simplesmente teremos um cheque. Se obter o ponto j da rede não for igual ao ID da cadeia de alho, você terá uma caixa de diálogo de alerta, que dirá que você não está conectado a uma rede. E então voltaremos daqui. Não executaremos essa função. E se for, tudo bem, assinaremos a transação. Faz signatário. Para fornecer get sign-on. Então teremos a instância do contrato, novo contrato de ponto de éteres. E então teremos isso. Devemos enviar o endereço do contrato, depois aquela ABI. E depois o signatário. Em seguida, analisaremos esse preço usando eaters dot util, dot bars, units, NFT, not brace, dot, two string. Assim. Então teremos essa transação igual a esperar. Um ponto de faixa, o nome desse contrato inteligente de índice de desmarcação, é criar venda no mercado. E agora temos que enviar esse token. E se o ID do token, bem como esse valor, esse é o preço desse token. Em seguida, avaliaremos para que essa transição seja concluída. E depois disso, carregaremos o NFT novamente para que ele atualize a página. Portanto, essa é a funcionalidade de comprar um novo NFT. Em seguida, temos que retornar o HTML ou a interface do usuário. Se o usuário carregar e FDA, então deve haver alguma IU para baixa dose e FTEs são exibidos neles. E se D for um simples, vamos começar. Vamos começar aqui. Com isso. Dave. Vou dar um pouco de estilo. Flexionar. Justifique o centro. Então o nome da classe aqui, novamente lá dentro, com Dave não terá preenchimento no eixo x, y. E eu vou usar esse estilo personalizado, ou seja, max, será 1600 dólares. Você pode alterar o estilo de acordo com você, acordo com seu desejo. Vamos ter grade. Crie. Um. No sorriso diz, deve ser ótimo. Para ampliar dispositivos. Deve pagar o grau quatro. Então temos preenchimento. Top é igual a quatro. Ok? Agora, vamos percorrer isso e Nephthys, o estado, o deserto. É por isso que usei essas chaves encaracoladas porque não estamos fazendo um trabalho lógico. Eu gostaria que o NFT fosse esse mapa. Então, nisso, daremos, obteremos um único NFT, bem como o índice. Você pode passar o mouse sobre ele. Veja, nós também temos o índice. Agora, vamos começar com uma div. Temos que entender que g é igual ao índice. Então o sobrenome é igual a borda, sombra em torno disso. E então transbordamento escondido assim. Agora, aqui vamos trazer a imagem, então temos que importar a imagem da próxima imagem aqui, bem no topo. Usaremos essa imagem. Você pode simplesmente fechá-lo aqui. A fonte da imagem será NFT, essa imagem, que é imagem de ponto, porque aqui temos esse objeto de imagem. Nós daremos o nome, que é o nome do ponto NFT. Então o peso é igual a 300, altura igual a 200. Então, também teremos um espaço reservado. É um espaço reservado e escreveremos desfoque. Essa ainda é a costa principal, faça com que fique embaçada. E, em seguida, URL de dados borrada. Sim. Colocamos a imagem. Ou seja, você pode ver que coloquei uma imagem nesse cliente. Então, veja o público, eu colei esta imagem da Internet. É um espaço reservado simples. E é o ponto de extensão PNG. E então o layout será responsivo assim. Ok? Então terei outra div abaixo, abaixo dessa imagem. Nome da classe, basta dar um pouco de preenchimento. Então, quando você gráfico estilo será 64, Excel, nome da classe. Em seguida, o Excel não é semi-negrito. E aqui ele realmente exibe o NFT, esse nome. Então teremos outra div, teremos Stine, I, 70 pixels. Em seguida, o estouro de vírgula ficará oculto. Dentro dela. Teremos a tag p e a classe 2.5 de texto, a 400. E ele exibirá a descrição do NFT. Ok? Depois disso, vamos apenas um botão para acionar isso pela função NFT. Agora, abaixo disso, essas duas div que estão dentro da div principal terão outra div. Ele terá className, leitura para plano de fundo, nome preto do que vidro, texto, excel, margem inferior, ou não, tigela. Em seguida, branco. Aqui vamos mostrar que se d, essa taxa de preço come em sua corrente. E abaixo disso, que estes lado a lado ou não, direi abaixo, isso mostrará um botão que escreverá até agora. E vamos dar um pouco de estilo a isso também. Eu sei que esses são muitos códigos, mas você tem que fazer isso. Espere. Bolsa, que é a cor de fundo sendo 500. Texto, branco, tigela, cama eixo y para leitura do eixo x até o fim. Arredondado. Mas isso é tudo o que projetar o nome da classe e tudo mais. Agora vamos simplesmente escrever o onclick. Onclick acionará a função por n f d, t. Ela será acionada por um F D e está aceitando um medidor. Temos que enviar os dados NFT. É isso aí. É isso aí. Este é o código ou a parte externa da exibição do NFT na tela inicial. Se você quiser, basta pausar o vídeo e verificá-lo novamente com o código. E se eles estiverem no futuro, teremos algum erro. Obviamente, vamos resolver isso. Obrigado, é isso por este vídeo. 20. Teclas de vídeo 19 Setup Pinata IPFS: Oi. Neste vídeo, trabalharemos na criação de uma nova listagem para o mercado. Portanto, antes disso, precisamos que as chaves sejam configuradas nos dados em nosso aplicativo. Isso nos ajudará a carregar nossa imagem NFT e outros dados no IPFS. Para isso, vamos para pinup dot dot cloud do que simplesmente se você não tiver uma conta, clique em inscrever-se, vou apenas fazer o login. Depois disso. Como já tenho uma conta, sou enviado diretamente para o meu painel. Se quiser, basta pausar o vídeo e criar uma nova conta. Agora, devemos obter as chaves de API para upload. Para isso, basta clicar no canto superior direito. Depois chaves de API e, em seguida, nova chave. Agora, simplesmente permita isso. Em seguida, defina a chave máxima animal pode ser usada. Apenas deixe isso. Só vou dar um nome a ele. E se o mercado for assim, clicarei em Criar chave. Agora, certifique-se de não fechar essa janela modal, pois essa chave secreta será mostrada apenas uma vez. A chave de API que você pode ver mais tarde também, mas esse segredo será visto apenas alguns. Então, basta copiar essa chave secreta da API. Vá para o arquivo config dot js, onde já temos menos e endereço do contrato. Aqui, basta escrever export const. Primeiro escreverei a chave e depois escreverei export const, data, secret. O segredo, basta colar. E também copie essa chave. É isso aí. Agora podemos fechar isso e também clicar em Concluído aqui. Agora você está pronto. Vamos ao editor de código. E nas páginas, basta criar uma nova tela e dar um nome a ela. Crie. Se d for ponto js, lembre-se de dar o mesmo nome. Você dá aqui, isso é aqui. Isso é criar NFP e, em seguida, fazê-lo. Suponha que o NFT seja, está tudo bem. Basta renomeá-lo. E se D, porque obviamente estamos criando um e theta time. E é assim que a navegação funciona no próximo ano . Em última análise, eles vão para o nome do arquivo correspondente a isso. Agora, aqui nesta página, os usuários podem criar LFTs de alistamento. Eles poderão fazer upload e salvar as imagens no IPFS, bem como definir metadados e preço do item. Vamos começar com algumas importações. Data de uso. Estou reagindo. E importe. Dói do éter, não da cabeça dura. Essa entrada. Use o roteador também mais tarde, vamos ver, vamos usá-lo ou não. Próximo. E ao ar livre do que importar o modelo três da árvore. Agora vamos importar as constantes do arquivo de configuração. A primeira é que eu simplesmente copiaria e colaria. Aqui, exigiremos o endereço do contrato e, em seguida, as chaves de vírgula pinata. Então pinata secret, invente outro segredo. Configuração. Depois vou importar NFT, comercializar, colocá-los aqui e apenas garantir que tudo esteja correto. Então vou importar o sistema operacional x z mais x z. E, finalmente, vou importar a imagem da próxima imagem. Próxima etapa, vamos, vamos exportar nosso AP, CS, um padrão, nomeá-lo, criar um F D. Então vamos começar com alguma declaração de variável que este URL do arquivo. Em seguida, defina o URL do arquivo para usar a data. E, em seguida, lendo os arquivos, ele terá um valor nulo. Então. Agora vamos usar algo como input. Atualizar. A entrada é que vamos usar a data. Mas aqui, agora teremos uma estrutura como essa é um objeto e vamos estruturá-la em D mais tarde. Essa eleição. Vamos escrever no campo de texto e salvá-lo aqui. Então teremos esse externo, que reutilizará o roteador. E então teremos o estado de carregamento deles. Conjunto. Estado de carregamento. Eles usam data. A primeira coisa é que o primeiro estado não será carregado, não carregando. K. Também precisa saber mais sobre as APIs do pinata. Você pode simplesmente ir para. Isso é pintura pinata darks. Aqui. Você pode ver. Aqui podemos ver como faremos as coisas que, ou seja, quais são os pontos finais, como fixar o arquivo usará? Vamos usar desorientado, como eu acho. Depende como se fixássemos Jason também e fixaremos o arquivo de imagem escrito. Você entenderá mais tarde, mas certifique-se de ler essas duas seções. Obrigada. Isso é tudo para este vídeo. Vejo você na próxima sessão. 21. Função de vídeo 20 para carregar arquivo para Pinata: Oi, bem vindo de volta. Neste vídeo, trabalharemos na função de fazer upload de arquivos dados estúpidos. Vamos começar. Mas acho que uma função sinc upload de imagem. Nós o enviaremos como um parâmetro aqui a partir do arquivo de entrada. Aqui. Vamos apenas obter phi é igual a E dot target dot files 0. É assim que obtemos o arquivo do campo de entrada. Então, vamos tentar. Bloco de captura. O console registrará pontos no editor. Agora, nessa tentativa, vamos ter const. Os dados são bons para o novo objeto de dados. E então simplesmente formaremos um acréscimo de ponto teta. Anexar arquivo. Por isso está o arquivo selecionado. Agora, teremos que enviar o z OS, ou seja, XES HttpRequest. Resultado. Y é igual a aguardar z OS. Então, dentro dele, vamos ter importância tão forçada do que o URL será http barra api ponto pinata, barra dotCloud. Quando F capital phi para IPFS. Isso eu recebo da documentação. Em seguida, os dados serão dados do formulário. Aqui estamos apenas fazendo o upload do arquivo. Cabeçalhos dynode não idiotas da Itália. Nos cabeçalhos, autenticaremos com a chave pinata. Nós pinata key. Então. Segredo de pinhata. Apa, E será agora faz segredo. E, finalmente, o tipo de conteúdo. E aqui o C será capital. O tipo de conteúdo é dado de formulário com várias partes. Esse é o conteúdo Content-Type. Quando estamos fazendo o upload de um arquivo. É isso aí. Depois disso, criaremos o URL da imagem, que é para a pinata. Basta digitar Shift mais não shift apenas diretamente o ponto que está abaixo da palavra-chave escape, nós temos isso. Basta escrever HTTP S Gateway, pinata, Cloud slash, IPFS slash. Agora, cole isso. Vamos pegar o CAD. Ou seja, eu acho que o conteúdo. Eu só esqueci uma coisa. Era CAD. Identificador de conteúdo em pinata. Você vai conseguir isso. Esteticamente geht es phi dot data ponto B. Ipfs hash. E, finalmente, defina o URL do arquivo para esse URL da imagem. Em palavras simples, esse é o URL que obtemos quando carregamos o arquivo no Pinyin. Para que o usuário possa apontar para esse local e mostrar a imagem. Portanto, essa função simplesmente carrega a imagem dois, IPFS. Isso funciona apenas nessa função? Agora? A próxima função que precisamos criar é fazer o upload dos metadados, bem como os metadados incluem título, descrição e preço. Vamos fazer isso. Função Sinc. Conluio para IPFS. Agora permite o nome da estrutura, descrição e preço da entrada, que é um objeto. Agora vamos simplesmente verificar se o nome está vazio, nossa descrição está vazia. Estranho. O arroz, bem como o URL do arquivo, estão vazios. Em seguida, ele só voltará daqui. Caso contrário, mudaremos o estado de diluição para carregar assim. E agora vamos tentar pegar um bloco. E fazendo o upload. Por quê? Eu não sei. OK. Nesse bloco try catch, vamos fazer dados JSON. Será que vai fazer pontos Jason, stringify, não tem sido. Meus dados. Eles também são de domínio da documentação. Você pode ler a documentação e entender como estamos fazendo o upload desse arquivo JSON. Nome. Name será o nome da variável dot json. Esse é o nome do arquivo. E então nós não. O conteúdo será jet json like name. Descrição. E a imagem será o URL do arquivo. Assim. Depois desses dados JSON. Agora vamos fazer o upload desse arquivo JSON também para o IPFS. Const. Phi é igual a esperar zeros. Agora, novamente, vamos apenas copiar isso e faremos as mudanças. Será postado aqui, URL será pin, não está bem. Quando Jason J capitalizar tudo Capital Jason para IPFS, então os dados serão dados JSON, este aqui. Copie e coloque isso nos cabeçalhos também. A chave secreta do APN será a mesma. A única mudança será o aplicativo do tipo de conteúdo, json. Então, aqui estamos fazendo o upload do arquivo de metadados e , em seguida, obtendo o URI do token. Como vamos estruturar esse URL de token dessa forma. Novamente, HTTP S Gateway, pinata, barra de nuvem, barra IPFS. A mesma coisa aqui também. Menos dados de ponto de arquivo ponto a, B, F, S hash. E então retornaremos o URI do token. É isso aí. Então essa era a função de fazer upload de endereço IP, ou seja, metadados. Vamos fazer um comentário. Primeiro, pré-carregue os dados medidos para o IPFS e depois retorne. Vocês são senhoras, o conteúdo ou o token URI para usar em transações posteriores. Só para referência ou só para mim, só que você entende. Posteriormente, passo a passo, você entenderá onde estamos usando essa função, onde estamos usando essa função. E de novo e de novo, estou dizendo logo no início, eu estava muito confuso. Mas quando eu leio a documentação do pinata sobre como conseguir isso ou como escrever os cabeçalhos. E agora eu aprendi tudo que documenta. É isso para este vídeo. Obrigada. 22. Função de vídeo 21 para listar NFT no mercado: Oi. Neste vídeo, escreveremos a função para listar o NFT no mercado. Anteriormente, escrevemos essa função para fazer upload das imagens ou dos metadados, mas agora é a hora. Também listamos no contrato. Isso é no qual já está implantado. Vamos tentar uma pia no churn, listar NFT. Ou digamos, a primeira coisa que farei é obter o URI do token. É const, URL é igual a aguardar upload para IPFS. É esse aqui. Além disso, o que faremos é isso. Então. Agora faremos a autenticação. Ou seja, o modelo da árvore da web é igual aos novos três modelos da Web. A mesma coisa. Vamos subir e ver onde fizemos isso. Acho que fizemos isso aqui. Em seguida, conexão, depois temos provedor, depois verificamos. Em seguida, assinamos a transação. Então temos o contrato desse vestido. OK. Copie tudo da página de índice que está por, por nF diferente Jen. Cole aqui. apenas verificar para ter certeza de que não há nada errado. Sim. Sim. Dê capital a ele. OK. Temos que modelar. Nós temos conexão. Nós fornecemos, temos rede. Estamos verificando se o usuário está conectado ou não. Então vamos pegar o signatário. Então nós temos o contrato. Sim. Ele transforma dot utils dot parse units. Aqui. Será o preço do ponto de entrada do formulário. Enquanto eu sou o preço do ponto de entrada. É isso aí. Então temos aqui o endereço do contrato, mercado NFT ponto aba e inscreva-se. Agora. Além disso, vamos pegar o preço do anúncio. Ou seja, deixe o preço de listagem é igual a aguardar contrato ponto obter arroz de listagem. Depois, mudamos para string. Essa coisa preço ponto duas cordas. Agora vamos fazer essa transação vai aguardar o ponto do contrato, o nome da função foi criar token em nosso contrato inteligente de solidez, ele aceita um URI de token para ice e temos que enviar esse valor de listagem, que é o preço de oferta. Valor, preço de oferta e, em seguida, a taxa de transação. E, finalmente, vamos apenas navegar esse usuário para a tela inicial assim. Ok? Agora é hora de retornarmos o HTML na parte inferior. Devolver. Vamos sentar com o DRF. Dê a ele um nome de classe. Negros. Apenas desafia o centro. Então eles têm LastName com uma por oito pernas, margem de chamada, certo? Margem. Dez melhores. Sim. Mostraremos essa imagem. Ou seja, assim que o usuário fizer o upload, exibiremos aqui antes que ele se certifique antes poder comer o URI do arquivo token. Se não estiver vazio, mostre essa imagem. Você usará a imagem da próxima. Quando você dá uma margem arredondada, os quatro primeiros. A origem será um espaço reservado porque, no momento, o URL do arquivo está vazio. Mostraremos esse lugar. Então deixe a imagem que temos em nossa pasta pública. Vamos dar um peso de 300, altura de 200. Novamente. Escreverei se não estiver vazio, ou seja, tiver algum valor. Então mostrei essa imagem. A fonte será o URL do arquivo, a imagem será carregada com sucesso. Então a taxa será 300, altura será 200. locador ficará desfocado e desfocado. URL dos dados será o espaço reservado. Ponto PNG tilda. A imagem está carregada. Ele mostrará um maldito espaço reservado para que o usuário saiba que algo está prestes a aparecer. Ok, nós temos essa div. Agora. O próximo div terá um nome de classe de width, um Bye half, que é a metade direita lex. Lex ligou. Vamos ter um InputField. Vamos ter um campo de entrada com fechamento automático. O suporte do lugar será definido. Nome. O nome da classe gerenciará a borda superior, cantos arredondados adicionando quatro. Então, inalterado. Agora, o fato é que, quando alguns dados forem alterados, teremos esses dados aqui. E vamos atualizá-los. Aqui. Usaremos a entrada do formulário de atualização. E atualizaremos a entrada do formulário. E dentro dele, vamos apenas acrescentar a entrada de Rudolf, esse nome. Esse é o valor alvo do ponto e. Aqui assim. Vamos anexá-lo. E aqui serão três estrelas que esses três pontos assim. Ok? A segunda coisa, teremos uma área de texto. Teremos uma área de texto para a descrição. Haverá uma descrição do ativo. O sobrenome será margem, de cima para a borda, cama arredondada e arredondada para roupa de cama, para n aqui também. Na mudança de propriedade, simplesmente usaremos. Este campo de formulário de atualização. Então, dentro dele, anexaremos. No formulário, a descrição de entrada é igual ao valor alvo do ponto E. Assim. Agora, vamos copiar esse campo de entrada. Cole abaixo. Aqui, o nome do ativo será o preço definido nele. E a margem de cima para baixo ou o preenchimento para inalterado é igual a. Aqui. Vamos mudar isso. Vamos acrescentar o preço. Aqui. Haverá outra propriedade chamada type e type será number. Finalmente, temos o campo de entrada para fazer o upload do arquivo. Ou seja, o tipo de entrada é igual ao nome do arquivo como nome da classe definida. Vamos ter esse fechamento automático é sempre className, será margem no eixo y para terminar na mudança, chamaremos a função de upload de imagem. Finalmente, estamos usando essa função, upload de imagem. Ele obterá automaticamente a entrada que é o parâmetro e daqui. Então teremos um botão. Se DOF, se houver URL do arquivo. E isso é, se houver URL do arquivo, então só mostrou esse botão. O botão terá onclick, o que acionará a lista. E se a cadeia diferente que está aqui, liste NFT para função de venda. Sobrenome. Seremos a fonte. Nascido. Margem, quatro primeiros. Por volta de 506, roupa de cama branca e arredondada para sombra em geral. Agora, aqui, entre o botão, temos que escrever algum texto e eu vou alterá-lo de acordo com os estudos. Se o estado de carregamento for igual a não carregar, mostre criar, NFT. Adultos mostram espera, carregando. Ok, então agora terminamos. Vamos salvar tudo. Acesse nossos sites. G carregado. Espero que o servidor esteja funcionando. Vamos ver. Agora, se eu for vender NFT, mensagem de erro deve fazer duas propriedades ou propriedade de aterro sanitário. Isso é aqui, temos algum erro. Deve usar propriedades de largura e altura. Vamos verificar. Ok, eu cometi esse erro. Espero que você não tenha cometido o mesmo erro. Eu vejo. Está parecendo tão bom. Além disso. Você precisa fazer algumas alterações em nosso próximo arquivo dot config dot aqui. Só para ter certeza de que temos, podemos mostrar imagens que é o domínio a partir do qual a imagem será mostrada em nosso site, temos que mencionar aqui que o nome de domínio é gateway, pinata dotCloud, como sabemos. Porque mencionamos aqui. Veja o gateway daquela nuvem escura de pinata aqui. E se o salvarmos, teremos algumas mudanças. Temos que reiniciar o servidor. Ok? Vou apenas fechá-lo, salvar tudo, ir para o NFT, CD blind e BM, então é hora de testarmos o upload do NFP. Ok, vamos apenas carregar localhost. Espero que as coisas funcionem. Vamos clicar na célula. Vamos escolher um arquivo. Só vou escolher essa imagem. Vamos ver o que acontece. Veja, agora está sendo carregado. Vamos ver se é mostrado aqui ou não. Só então teremos certeza de que sim, está funcionando. Agora vamos inspecionar também. Vamos ter no console. Vamos para a piñata. Vamos ver se alguma coisa foi enviada aqui. Sim. Veja o banner do marketplace , agora está carregado aqui. Está demorando muito, mas vamos ver, vamos escrever. Meu primeiro futuro NFT, NFT da internet. Então seria 0,1. Vamos nos certificar de que estamos conectados com a meta na rede. Sim. Vamos clicar em Criar NFT. Veja, aguarde o upload. Pedimos que escrevam a missa chegando. Vamos ver se vai funcionar ou não. E clicamos em Confirmar. Então, depois que a transação for concluída, seremos redirecionados, eu acho. Sim. Depois da transação, vamos ver. Nós adicionamos redirecionado. E vamos ver agora que vai aparecer aqui ou não. Não está aparecendo. Mas vamos ver, temos os metadados carregados porque pode haver algum erro, temos que corrigi-lo. Os metadados também são inchados. Vamos inspecionar. Então, vamos ver por que não está funcionando. Obviamente, existem alguns dados e o que não está sendo exibido porque eu não levo a nenhum item no mercado. Vamos consolar itens de registro de pontos. Comprimento do ponto c, um. Temos um item. Ok, eu não tenho, não, não, não. Vamos ver. Se não itens, temos dy definido que NFT é o nó D. Então eu pegado um erro. primeiro erro está aqui nesta linha que não é um grande aparelho encaracolado. Devem ser colchetes redondos assim. Ok? E quando o salvarmos, novamente, receberemos algum erro. E isso é porque eu cometi um erro aqui. Deveria ser nome. E então deve haver outro campo de imagem. Será metta dot Theta dot image. Vamos ver se está funcionando ou não. Agora, salve tudo n. sim. Novamente, estou tendo esse problema porque a imagem não está mostrando literal, então ela não foi mostrada. Vamos ver, temos outros erros também? Vamos ver, a imagem. A imagem D foi carregada corretamente. O URI da imagem está aqui. Bem no topo. Veja esse aqui. Você criou o gateway. Gateway. Essa pinata dotCloud gateway ponto, ponto, barra de nuvem de pontos, IPFS, hash de chicote. Então, por que não está funcionando? Ah, não, não. Veja, demorou algum tempo, mas funcionou. Obviamente, leva algum tempo para carregar a mesa de imagens. É por isso que mostramos esse efeito sanguíneo. Mas, finalmente, nosso mercado está funcionando. Nós podemos vender. E se D, assim como mostrará todos os não vendidos e FTEs na tela inicial. Isso é tudo para este vídeo. Este foi um vídeo muito longo. Eu sei, mas concluímos a maior parte dessa tarefa. Obrigada. 23. Função de vídeo 22 para obter NFTs possuídos ou comprados: Oi, bem-vindo de volta. Neste vídeo, trabalharemos na minha tela NFT, que exibirá apenas o NFP comprado pelo usuário. Então, também antes disso eu filmei, eu vi alguns adicionados. Suponha que neste arquivo index.js, nesta quarta linha, que W fosse pequeno, deveria ser maiúsculo. E também nisso criar NFT. Essa primeira linha teve algum problema. Ou seja, havia assim. Isso deve ser removido. OK. Agora, agora páginas detalhadas , vamos criar uma nova tela. Íntimo, meus canhotos pontilham js. Aqui. Novamente, criaremos uma função que retornará apenas o NFT de propriedade. Mas antes disso, temos que importar parte da dependência ou alguns dos pacotes. Vou simplesmente copiar desse NFT criado aqui assim. E faça as mudanças. Suponha que aqui use o estado efetivo é necessário, é necessário, o uso do roteador é necessário. modelo de árvore da Web é necessário. Aqui, a pinata e a chave secreta não são necessárias. Somente o endereço do contrato, depois o mercado NFT, depois o XES e a próxima imagem. Agora vamos exportar função, exportar padrão, perfurando meus FTEs. Novamente aqui. Vamos precisar dessa coisa que é NFP e estado de carregamento. Então, a partir dos índices, copie e cole aqui assim. Teremos dias NFP e definiremos um teste F. Em seguida, temos estados de carregamento, definimos o estado de carregamento, o primeiro estado não será carregado. Além disso. Se quisermos, podemos ter isso lá fora também. Isso é uso. Agora vamos começar a escrever a função sinc funtion load. E se esses, agora, novo, eu vou ter alguns. Ou seja, temos que autenticar o usuário da mesma forma a partir dessa criação. Sim, vou apenas copiar o modelo da árvore da web, conexão, obter rede e depois contratar. Assim. Vou apenas copiar e colar aqui. E verifique novamente. Temos que modelar, temos conexão, fornecemos uma boa rede. Verificaremos se ele está conectado. Podemos pegar o signatário. Só vou dar um nome. Contrato de mercado. OK. Enviamos um vestido contratado. Temos o mercado NFT, EBI, temos o signatário. Agora, vamos pegar os dados. Evade a correspondência de pontos do contrato de mercado. Meu NFT é assim. Em seguida, examinará os dados. Seus itens são iguais a aguardar ponto, ponto, ponto, mapa, pia. Eu acrescento. Em seguida, adicionamos o mapeamento por meio de todos os dados. E estamos armazenando esses dados que dados singulares neste nome de variável, nome é I. Vamos ver que o URI do token é igual ao URI do token do contrato de mercado. E vamos apenas escrever, eu posso identificar assim. Então. Const metta é igual a esperar. Comece a obter. Você pode adicionar um URI de token? Obteremos todos esses dados. Em seguida, deixe res igual ao ponto dos comedores, unidade de formato de ponto I ponto arroz ponto duas cordas. Agora vamos criar os itens de objeto. Item. Nós nomeamos o preço. Teremos esse ID, número de ID do token. Depois Sattler. Sattler. Ah, não. Eu ponto 09. Metadados da imagem, dados, nome da imagem, dados do ponto, nome do ponto. E, finalmente, token URI. E então simplesmente devolveremos o item para que ele se torne um n, n a de estudos de item aqui. Depois disso, simplesmente no final desse mapeamento. Basta definir se esses itens e definir o estado de carregamento como carregado, assim. Depois dessa função. Vamos também retornar o HTML. Teremos esse mesmo estado de carregamento e agora vamos ver qual página tem isso fazendo isso. Assim. Sim, a cópia e o estado de inclusão com base não são carregados do que simplesmente mostrar o carregamento de peso. Se ele estiver carregado e o NFT for o comprimento do ponto não estiver lá, basta escrever, não, não, NFT é de propriedade de você, assim. E depois retorne. E então simplesmente retorne. E aqui. Também devolveremos essa coisa. Vamos o mesmo que index.js. Então, basta copiar isso. Você pode copiar tudo isso e, em seguida, fazer as alterações de acordo. Vamos ver. Copie isso. Devolva aqui. Agora. Vamos ver se precisamos de alguma mudança aqui. Pixel para estilo de largura máxima de 1600 pixels, depois coluna de grade um, coluna dois, ótimo. Então temos um f, d é mapa de pontos, chave, borda, sombra, Excel, estouro oculto, estouro oculto. Vamos ter margem. Isso e margem do eixo y. Vamos ter isso. Temos o nome do ponto alt NFT da imagem. Espere, quatrocentos, trezentos espaços reservados borrão. E estará em segurança. OK. Em seguida, espalhamos para o nome da classe de 64 pixels de altura da tag de parágrafo. Para excel fontes semi-negrito. E se o nome, temos o nome NFT. Mas aqui não precisamos da descrição do NFT nesta tela porque já a possuímos. Não precisamos ter tantos dados. Basta deletar isso. Ok? Então temos className this, preenchimento para fundo preto, parágrafo, texto, Excel. E antes de uma taxa de imposto de votação e se o preço. E finalmente temos um botão, BG, vou apenas dar Ler. Texto branco, fonte, negrito. Ao adicionar y, adicionando o eixo x cercado onclick. Certo? Agora não terá nada. Será apenas nulo. E vamos chamá-lo de ricina e FT assim. É isso aí. Essas foram as únicas mudanças necessárias. Vamos salvá-lo. Vamos ver. É a tela inicial. E vá para o meu NFT dot fetch. Meu NFP é. OK. Vamos ver o que isso foi adicionado? E se for de propriedade, está mostrando que isso não é. Vamos a um mercado. Veja buscar, meu NFT é que temos isso. Por que ela está dizendo isso agora? Eles estão dizendo contrato de mercado. C. Ok. Eu não sei o que era o editor, mas sal. O que era o editor? Espero que se você receber o mesmo erro, basta copiar e colar ou acho que tudo foi o mesmo. Mas ele não tinha FT. E se eles pertencem a você porque criamos o NFT, mas ainda não compramos nenhum NFT. Então, mais tarde, compraremos e testaremos tudo. E agora eu só queria mostrar a vocês que essa tela é que, se mais tarde , se não houver nenhuma edição, resolveremos isso também. No próximo vídeo. Vou trabalhar nesse tipo de tela do painel. Obrigada. 24. Função de vídeo 23 para obter NFTS listados no mercado: Oi. próxima página que criaremos A próxima página que criaremos é um painel que permitirá aos usuários visualizar todos os itens listados nesse mercado. Esta página usará a função buscar itens listados no contrato de mercado NFT, que retorna apenas os itens que correspondem ao endereço do usuário que faz a chamada de função. Vamos criar um novo arquivo dentro das páginas e dar um nome a ele. Cadeiras de painel. Essa tela será semelhante à tela NFT. Então, vamos copiar a tela inteira. E faremos isso de acordo. Então, ao debridar primeiro, precisaremos dessas importações. Você ficou uma tartaruga, usa roteador, web para modelar endereço de contrato, mercado NFT e tudo mais. Ok, então vamos apenas mudar o nome da função para painel do criador. Ok? Então nós temos esses. E se D é incerto, se isso, e eu acho que não exigimos esse exterior. Vamos ver mais cedo também, não precisávamos disso ao ar livre. Se precisarmos, basta importá-lo novamente. Criamos e carregamos o estado. Em seguida, use o efeito e, em seguida, carregue N de t está bem. Em seguida, em sua carga e f t, temos o modelo da árvore da web, depois a conexão, depois esse provedor. Em seguida, verificaremos a rede Golgi. Então temos o signatário. Em seguida, fizemos a instância do contrato de mercado. Em seguida, chamaremos essa função. Isso é do contrato, chamará itens de cunha listados. E vamos chamá-lo aqui. Ok? Então temos os itens prometendo tudo e a mesma coisa. Em seguida, token URI, em seguida, fez METAR do que preço. Em seguida, fazemos um item com preço para o vendedor Kennedy, proprietário, imagem, nome e token URI. Então nós o devolvemos. Em seguida, definimos termos dy, definimos o estado de carregamento. Em seguida, retornamos o HTML assim. Se não estiver carregado, se estiver carregado, basta preencher o carregamento de peso. Se estiver carregado e não houver NFT, veremos que nenhum NFT está listado por você. Ok, basta mudar esse texto. Então. No final, teremos novamente uma estrutura flexível em coluna justificada para a coluna de grade de 1600 pixels. Então NFP, esse mapa. Agora vamos verificar aqui. Sombra de borda, fonte de imagem e imagem de ponto f d com layout de espaço reservado 400 menos responsivo. Então temos o nome NFT. Então temos esse botão em que mostra o preço do NFT. Então temos esse botão que escreverá, que mostraremos como pode vender a listagem como seu texto. Ou seja, o botão terá cancelado a listagem. Se quiser, você pode mudar essa cor. Depende de você. Eu prefiro ler, está tudo bem. É isso aí. Essa é a tela que é necessária. Agora, vamos salvá-lo. E vamos dar uma olhada. Acabei de começar. Vou clicar no painel. Agora. Veja, listamos isso no mercado e é isso que agora é mostrado. Com isso, assegurou que a funcionalidade está funcionando. No próximo vídeo, trabalharemos na funcionalidade para cancelar essa listagem no mercado. Obrigada. 25. Função de vídeo 24 para cancelar e revender NFT: Bem-vindo ao último vídeo deste módulo, onde trabalharemos na funcionalidade de cancelar e revender NFT nesse mercado. Até agora, posso dizer listagem, vá para criar um painel e abaixo desta função NiFti de carga de carregamento. Vamos criar, vamos criar uma nova função e nomear, nomeá-la. Listagem de peitoril Aqui, só precisamos enviar esse ID de token. Então, a primeira coisa que farei é definir o estado de carregamento. Novamente, não carregado. Então eu vou pegar essas coisas de novo. Esse é o provedor de modelo de árvore da web, esses três códigos. E depois disso, vou pegar o signatário. Assim. Também sei que o código está sendo repetido. Se você quiser, você pode simplesmente criar uma função separada para que possa ser reutilizável. Mas aqui estamos nos concentrando apenas na funcionalidade. Você pode limpar o código mais tarde. Agora. Depois disso, terei uma transação que é Mark, contract, dot, cancel. Vamos verificar o nome. Pode vender a lista de itens. Pode vender a lista de itens. E temos que enviar um ID de token. Então teremos transação de peso. Vamos esperar até que a transação seja concluída. Esse aqui. E, finalmente, chamaremos a função load e if d aqui. Então, isso é necessário na folha e no gênero para cancelar o NFT. É muito simples. Agora vou chamar essa função aqui de OnClick. Envie esse token que esse ID de token NFT, assim. Similarmente funcionalidade para revender nosso token, temos que ir para os meus canhotos aqui abaixo dessa carga e f t. Vamos criar a função sinc. Função. Revender ID do token NFT, preço do token. Definiremos o estado de carregamento como não carregado. Então teremos isso, esse código que é o modelo Web três aqui. O mercado. Basta colar aqui. Provedor de conexão Tomato e mercado. Então, simplesmente converteremos o preço unidades de vírus ponto util, ponto vírus. Então, o preço pode liderar o preço da listagem? Porque aqui novamente, somos realmente fedorentos, então temos que pagar. Aguarde. Contrato de mercado ponto obter listagem, preço. O preço do anúncio é igual ao preço da oferta ponto a string. A mesma coisa que fizemos antes também. Agora faremos que a transação seja igual a aguardar o nome do ponto do contrato de mercado. Sob contrato, você pode simplesmente verificá-lo, revender o token, ele aceita o ID e o preço do token. Pode ter uma ideia, bem como elogiar o ID e o preço do token. E temos que enviar o valor do preço do anúncio. Em seguida, aguardaremos o peso do ponto da seção Dan. E, novamente, vamos apenas atualizar que o NFP está usando essa função. Aqui. No final, ele enviará novamente esse estado de carregamento baixo para carregá-lo. É por isso que eu não fiz isso aqui. Porque mudamos o estado. Mas nesta carga e ele mudará novamente o estado para carregá-lo. Em seguida, basta acessar o botão na funcionalidade de clique. Basta atribuí-lo. Envie o ID do token NFT, NFT, esse preço. É isso aí. É isso para a função de token de vendas. Espero que você tenha aprendido muito porque tarefa Alda ou funcionalidades mais antigas estão concluídas. Concluímos nosso mercado NFT. No próximo vídeo, simplesmente testaremos todo o aplicativo para que, se sobrar algum editor, o resolveremos o mais rápido possível. 26. Vídeo 25 Teste o aplicativo completo: Oi, bem-vindo de volta. Neste vídeo, vamos testar todo o funcionamento do aplicativo. Finalmente concluímos o mercado NFT e, acrescentando que você deve se orgulhar de ter assistido ao curso até o fim. Agora, vamos verificar a venda do NFT. Vamos, vamos fazer o upload de mais uma fenda NFT que é difícil IF hard hat. E se eles apenas nomearem no ensino superior, compile, teste e implante. Mesmo, vou colocá-lo 0,001. Vamos ver. Vamos escolher isso. Vamos ver. Era uma imagem grande, mas ainda assim, digamos que ela esteja sendo carregada. Acho que sim. Se você quiser, vou verificar aqui para ter certeza de que foi carregado corretamente. Veja como esse ponto PNG. Basta clicar em Criar NFT. Vamos, vamos confirmar. Vamos ver. Ok, acho que está feito. Digamos Criar Token. Está feito. E há algum problema que eu tenha que entender? O que é isso? Eu acho que temos que fazer algum controle de acesso e null, mas se nós apenas atualizá-lo, ele está mostrando o controle de acesso norma permitir cabeçalho de origem está presente sob o recurso solicitado. E se eu atualizá-lo, espero que os metadados também sejam carregados. Veja, nós temos esse NFT j sine Phi, mas isso não está funcionando. Se eu for para o painel, ele também está mostrando algum somador. Se eu clicar nele. Ok, deixe-me encontrar, deixe-me verificar qual é o problema e chegar a esta solução. Então eu verifico novamente, e está funcionando corretamente. Antes, estava demorando muito e acredito que essa imagem era muito grande. Então, se você estiver enviando uma imagem, certifique-se de otimizá-la. Porque veja, apenas mostre a diferença. E também fiz o upload de mais uma imagem. Aqui. Você pode ver que é apenas 60 KB, mas este é um e b. Portanto, há muita diferença no tamanho da imagem. E também, se eu disser, se eu apenas atualizá-lo, vou salvar tudo aqui. Porque você pode estar vendo esse tipo de saída. Para resolvê-lo, basta usar essa configuração que é margem no eixo x em excesso e eixo y cinco no index.js. E guarde aqui. Agora você pode ver que há uma lacuna adequada. A célula NFT está funcionando como você pode ver. Agora, o que eu vou fazer é se eu puder vender um anúncio que é esse aqui. Suponha que, se eu quiser considerar isso, basta clicar em cancelar listagem. Essa MetaMask abrirá. Vou apenas confirmar essa transação. E, como você sabe, quando podemos vender nossa própria listagem, isso nos custa, ou seja, mostrará que possuímos esse NFT e ele será exibido no meu painel NFT. Aqui, você não está vendo em casa. Vamos lá, vamos ver os outros três ou dois. E se esse CDMA dois nf, este, aquele primeiro fosse cancelado. Mas se eu for para o meu NFT, então você pode ver que este é o NFT, nós podemos vendê-lo. Acabou de ser possuído, são comprados por mim. Você pode dizer que eu quero, então não direi comprado porque não paguei isso, mas pelo menos chegou à minha conta novamente. Isso pode vender. O Nft também está funcionando. OK. Agora, para verificar o revendedor e o fd, vamos revender. Clique em revenda NFT. Às vezes, você pode ter alguns problemas se não tiver os éteres necessários em sua carteira. Nesse período, você tem que esperar e ser aprovado. 15 ou 20, oito terços no seu ícone da torneira. Digamos que ainda esteja carregando. Mas espero que isso funcione. Vamos dizer que está dobrando o token de revenda. Porque aqui estamos fazendo muita coisa porque estamos novamente, sendo um aliado. Mas veja, nenhum NFT é de sua propriedade. Se eu for para casa, veremos novamente que o NFT apareceu aqui. Portanto, temos contra o sólido. Se você quiser, você pode fazer as alterações de configuração do preço e eu não fiz isso. É muito fácil. Pode ser um projeto para você, se você quiser. Agora, a única funcionalidade que resta é por, o que farei é mudar minha conta de conta para conta um. Mas tem muito menos éteres, então estou confuso. Tem 0 isso. Então, o que eu posso fazer é obter, transferir alguma conta enquanto eu transfiro alguns éteres aqui em ido para um. E nós apenas transferimos é 0 ou c não é que 0,01 é 0,04. Confirme a descida. Porque você deve ter gostos suficientes para comprar. E às vezes aparece em um, é por isso que esse envio também está demorando muito. OK. Vamos para a Conta um. Depois de mudar a economia, vamos atualizá-la. Agora, um novo usuário ou imprime em seu painel. Suponha que C, ele possa ver não vendido nf isso, mas se você for para o painel, você verá que nenhum NFT está listado por u e n é meu FTEs porque esse usuário tem uma nova conta. Mas se você comprar isso em menos NFT, digamos que esteja funcionando ou não. A última vez que consegui o editor do fundo insuficiente. Vamos ver o que acontece dessa vez. Digamos que se você quiser, você pode. Então, algum indicador de carregamento aqui. Vamos ver. Está gastando seus gastos. Receba, veja, agora isso não está listado no mercado. Se eu for aos meus LFTs, veja que tenho esse NFT de propriedade. Isso também está funcionando bem mas não há problema com a venda. Então, finalmente, nosso mercado está concluído. Todas as funcionalidades estão funcionando perfeitamente. Se você quiser, você também pode enviar este site para um servidor real, como o Netlify, que estamos vendendo. De graça. Você pode simplesmente pesquisar no Google como fazer isso e, em seguida, mostrar aos recrutadores em seu currículo que você criou um aplicativo descentralizado completo. Obrigado por assistir. Espero que você tenha gostado. Certifique-se de assistir meus outros cursos também. Tenha um bom dia.