第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.