Урок 3

Gerir Anúncios de Marketplace

Depois de cobrir a criação, listagem e compra de artigos no nosso mercado descentralizado, vamos agora concentrar-nos em melhorar o nosso contrato inteligente adicionando funcionalidade para remover itens de venda e atualizar o preço de um item.

Reforçar o Contrato de Marketplace

Nesta seção, vamos introduzir duas novas funções: RemoveITemFromMoe e UpdateITemprice. Estas funções permitirão ao vendedor remover o seu artigo da venda e atualizar o preço do seu artigo, respectivamente.

Eis o contrato avançado de Marketplace:

Solidez
//SPDX-Identificador da licença: MIT
solidez pragma ^0.8.6;

contrato Marketplace {
 //Definir uma nova estrutura para os Itens
 struct Item {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    //Matriz para segurar todos os itens
 O item [] itens públicos;

 //Definições de eventos omitidas por brevidade

 //Outras definições de função omitidas por brevidade

 //Função para remover um item da venda
 função RemoveITemFromsale (uint _Itemid) pública {
        Item storage item = items[_itemId];
        require(msg.sender == item.seller, "Only the owner can remove the item from sale");
        item.forSale = false;
    }

    //Função para atualizar o preço de um item
 função atualizaçãoTemprice (uint _Itemid, uint _NewPrice) public {
        Item storage item = items[_itemId];
        require(msg.sender == item.seller, "Only the owner can update the price");
        item.price = _newPrice;
    }
}

Na função RemoveItemFromMoe, primeiro recuperamos o item com o _ITEMID fornecido. Verificamos então que a pessoa que liga a função (msg.sender) é a vendedora do item. Se for esse o caso, definimos a propriedade ForSALe do item como falsa, removendo-a efetivamente da venda.

Da mesma forma, na função UpdateItemPrice, recuperamos o item com o _ITEMID fornecido, verificamos que msg.sender é o vendedor e, se sim, atualizamos o preço do item para o _NewPrice fornecido.

Implementar e interagir com o Contrato de Marketplace Enhanced

Depois de aprimorar o contrato Marketplace, compile-o e implemente-o tal como fez nas lições anteriores. Lembre-se de selecionar o contrato correto no menu suspenso do plug-in do compilador Soliity antes de compilar e implementar.

Assim que o contrato for implementado, aparecerá na seção Contratos Implementados do plugin Implantar & Transações. Aqui, pode interagir com o contrato.

Para remover um item da venda, insira a identificação do item na função RemoveITemFromMoe e clique no botão. Para atualizar o preço de um item, insira a identificação do item e o novo preço na função UpdateItePrice e clique no botão.

Com isto, construiu agora um mercado descentralizado básico mas funcional na cadeia de blocos Ethereum. Pode criar, listar, comprar, remover e atualizar itens com este contrato inteligente. Ótimo trabalho!

Na próxima lição, vamos discutir como lidar com potenciais vulnerabilidades de segurança no nosso contrato e introduzir modificadores para simplificar ainda mais o nosso código. Fique atento!

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.
Каталог
Урок 3

Gerir Anúncios de Marketplace

Depois de cobrir a criação, listagem e compra de artigos no nosso mercado descentralizado, vamos agora concentrar-nos em melhorar o nosso contrato inteligente adicionando funcionalidade para remover itens de venda e atualizar o preço de um item.

Reforçar o Contrato de Marketplace

Nesta seção, vamos introduzir duas novas funções: RemoveITemFromMoe e UpdateITemprice. Estas funções permitirão ao vendedor remover o seu artigo da venda e atualizar o preço do seu artigo, respectivamente.

Eis o contrato avançado de Marketplace:

Solidez
//SPDX-Identificador da licença: MIT
solidez pragma ^0.8.6;

contrato Marketplace {
 //Definir uma nova estrutura para os Itens
 struct Item {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    //Matriz para segurar todos os itens
 O item [] itens públicos;

 //Definições de eventos omitidas por brevidade

 //Outras definições de função omitidas por brevidade

 //Função para remover um item da venda
 função RemoveITemFromsale (uint _Itemid) pública {
        Item storage item = items[_itemId];
        require(msg.sender == item.seller, "Only the owner can remove the item from sale");
        item.forSale = false;
    }

    //Função para atualizar o preço de um item
 função atualizaçãoTemprice (uint _Itemid, uint _NewPrice) public {
        Item storage item = items[_itemId];
        require(msg.sender == item.seller, "Only the owner can update the price");
        item.price = _newPrice;
    }
}

Na função RemoveItemFromMoe, primeiro recuperamos o item com o _ITEMID fornecido. Verificamos então que a pessoa que liga a função (msg.sender) é a vendedora do item. Se for esse o caso, definimos a propriedade ForSALe do item como falsa, removendo-a efetivamente da venda.

Da mesma forma, na função UpdateItemPrice, recuperamos o item com o _ITEMID fornecido, verificamos que msg.sender é o vendedor e, se sim, atualizamos o preço do item para o _NewPrice fornecido.

Implementar e interagir com o Contrato de Marketplace Enhanced

Depois de aprimorar o contrato Marketplace, compile-o e implemente-o tal como fez nas lições anteriores. Lembre-se de selecionar o contrato correto no menu suspenso do plug-in do compilador Soliity antes de compilar e implementar.

Assim que o contrato for implementado, aparecerá na seção Contratos Implementados do plugin Implantar & Transações. Aqui, pode interagir com o contrato.

Para remover um item da venda, insira a identificação do item na função RemoveITemFromMoe e clique no botão. Para atualizar o preço de um item, insira a identificação do item e o novo preço na função UpdateItePrice e clique no botão.

Com isto, construiu agora um mercado descentralizado básico mas funcional na cadeia de blocos Ethereum. Pode criar, listar, comprar, remover e atualizar itens com este contrato inteligente. Ótimo trabalho!

Na próxima lição, vamos discutir como lidar com potenciais vulnerabilidades de segurança no nosso contrato e introduzir modificadores para simplificar ainda mais o nosso código. Fique atento!

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.