Vamos implementar um modificador no nosso contrato Marketplace. Definiremos um modificador OnlyVendedor, que verificará se o chamador de uma função é realmente o vendedor de um artigo.
Marketplace atualizado com o modificador OnlyVendedor: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;
 //Modificador que verifica se o chamador é o vendedor de um item.
 modificador OnlySeller (uint _ItemID) {
        require(msg.sender == items[_itemId].seller, "Only the owner can execute this");
        _;
    }
    //Função para remover um item da venda, atualizada com o modificador 'OnlyVendedor'
 função RemoveITemFromsale (uint _Itemid) público Apenas vendedor (_ItemID) {
        items[_itemId].forSale = false;
    }
    //Função para atualizar o preço de um item, atualizada com o modificador 'Apenas' Seller '
 função atualizaçãoTemprice (uint _Itemid, uint _NewPrice) público OnlyVendedor (_Itemid) {
        items[_itemId].price = _newPrice;
    }
}
Com o  modificador Apenas vendedor em vigor, tornámos as nossas funções RemoveIteFromsale e updateIteMrice mais eficientes e legíveis.
Depois de aprimorar o contrato Marketplace, siga os mesmos passos das lições anteriores para compilá-lo e implementá-lo.
Uma vez implementado o contrato, pode interagir com ele da mesma forma que antes. Com as melhorias que fizemos nesta lição, o nosso contrato é mais eficiente e mais fácil de ler e manter.
Parabéns! Aprendeu agora a criar, melhorar e interagir com um mercado básico descentralizado na blockchain Ethereum. Isto marca o fim do nosso curso de iniciantes sobre o desenvolvimento de contratos inteligentes com Solidez. Continue a experimentar, a aprender e a construir!
Parabéns! Já chegou ao fim deste curso de principiante sobre o desenvolvimento de contratos inteligentes que usam o Solidez. Ao longo de quatro lições, explorámos a criação, implementação e interação com contratos inteligentes num ambiente Ethereum simulado, utilizando o Remix IDE.
Vamos recapitular o que alcançámos:
Item.Sol, que definiu um único item que pode ser comprado ou vendido.MarketPlace.Sol, que permitia a criação, listagem e compra de vários itens.Avançando, há vários caminhos para explorar. Pode mergulhar mais na Solidez, aprender sobre funcionalidades mais avançadas e considerações de segurança. Podia explorar outras plataformas de blockchain como Polkadot, Cardano ou Binance Smart Chain. Como alternativa, talvez queira aprender sobre o desenvolvimento front-end para DAPPs utilizando Web3.js ou Ethers.js, ou sobre implementar os seus contratos na rede Ethereum real.
Qualquer que seja o caminho que escolher, lembre-se sempre: a aprendizagem mais eficaz é fazendo. Então, não tenha medo de experimentar, construir, quebrar e reconstruir. Cada desafio que enfrenta é uma oportunidade para aprender e crescer.
Obrigado por participar neste curso e por se ter juntado ao emocionante mundo do desenvolvimento de blockchain. A revolução da blockchain está apenas a começar e os desenvolvedores como você estão na linha da frente. Então, continue a aprender, continue a construir, e o mais importante, divirta-se!
Feliz codificação!