Lição 4

Aprimorando a eficiência do código com modificadores

Os modificadores no Solidity são um recurso poderoso que nos permite incorporar verificações preliminares em nossas funções, resultando em um código mais legível e eficiente.

Apresentando Modificadores

Vamos implementar um modificador em nosso contrato Marketplace . Definiremos um modificador onlySeller , que verificará se o chamador de uma função é de fato o vendedor de um item.

Aqui está nosso contrato Marketplace atualizado com o modificador onlySeller :

Solidez 
 // Identificador de licença SPDX: solidez do pragma MIT 
 ^0.8.6; 

 contract Marketplace { 
 // Define uma nova estrutura para os itens 
 struct Item {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    // Array para armazenar todos os itens 
 Item[] public items; 

 // Modificador que verifica se o chamador é o vendedor de um item 
 modifier 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 'onlySeller' 
 function removeItemFromSale(uint _itemId) public onlySeller(_itemId) {
        items[_itemId].forSale = false;
    }

    // Função para atualizar o preço de um item, atualizado com o modificador 'onlySeller' 
 function updateItemPrice(uint _itemId, uint _newPrice) public onlySeller(_itemId) {
        items[_itemId].price = _newPrice;
    }
}

Com o modificador onlySeller em vigor, tornamos nossas funções removeItemFromSale e updateItemPrice mais eficientes e legíveis.

Implantando e interagindo com o contrato aprimorado

Depois de aprimorar o contrato Marketplace , siga as mesmas etapas das lições anteriores para compilá-lo e implantá-lo.

Depois que o contrato for implantado, você poderá interagir com ele como antes. Com as melhorias que fizemos nesta lição, nosso contrato é mais eficiente e mais fácil de ler e manter.

Parabéns! Agora você aprendeu como criar, aprimorar e interagir com um mercado descentralizado básico no blockchain Ethereum. Isso marca o fim do nosso curso para iniciantes sobre desenvolvimento de contratos inteligentes com Solidity. Continue experimentando, aprendendo e construindo!

Conclusão

Parabéns! Você chegou ao final deste curso para iniciantes sobre desenvolvimento de contratos inteligentes usando Solidity. Ao longo de quatro aulas, exploramos a criação, implantação e interação com contratos inteligentes em um ambiente Ethereum simulado, usando o IDE Remix.

Vamos recapitular o que alcançamos:

  • Lição 1: Introduziu os fundamentos do Ethereum, blockchain e contratos inteligentes. Desenvolvemos nosso primeiro contrato inteligente simples, Item.sol, que definia um único item que poderia ser comprado ou vendido.
  • Lição 2: Ampliamos nosso contrato inicial para criar um contrato Marketplace.sol , que permitia a criação, listagem e compra de vários itens.
  • Lição 3: Adicionamos mais funcionalidades ao nosso mercado, introduzindo métodos para remover itens da venda e atualizar o preço de um item.
  • Lição 4: Melhoramos a legibilidade e a eficiência do nosso contrato inteligente implementando um recurso do Solidity chamado ‘modificadores’. Aprendemos como tornar nosso código mais simplificado e seguro.
    Ao longo desta jornada, você não apenas ganhou uma base sólida em Solidity e no desenvolvimento de contratos inteligentes, mas também deu os primeiros passos para se tornar um desenvolvedor de blockchain. Você aprendeu a pensar em aplicativos descentralizados e sentiu um gostinho do potencial inovador da tecnologia blockchain.

Seguindo em frente, existem vários caminhos para você explorar. Você pode se aprofundar no Solidity, aprendendo sobre recursos mais avançados e considerações de segurança. Você pode explorar outras plataformas blockchain como Polkadot, Cardano ou Binance Smart Chain. Alternativamente, você pode querer aprender sobre desenvolvimento front-end para dApps usando Web3.js ou Ethers.js, ou sobre a implantação de seus contratos na rede Ethereum real.

Seja qual for o caminho que você escolher, lembre-se sempre: o aprendizado mais eficaz é fazendo. Portanto, não tenha medo de experimentar, construir, quebrar e reconstruir. Cada desafio que você enfrenta é uma oportunidade de aprender e crescer.

Obrigado por participar deste curso e ingressar no emocionante mundo do desenvolvimento de blockchain. A revolução do blockchain está apenas começando e desenvolvedores como você estão na vanguarda. Portanto, continue aprendendo, continue construindo e, o mais importante, divirta-se!

Boa codificação!

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.
Catálogo
Lição 4

Aprimorando a eficiência do código com modificadores

Os modificadores no Solidity são um recurso poderoso que nos permite incorporar verificações preliminares em nossas funções, resultando em um código mais legível e eficiente.

Apresentando Modificadores

Vamos implementar um modificador em nosso contrato Marketplace . Definiremos um modificador onlySeller , que verificará se o chamador de uma função é de fato o vendedor de um item.

Aqui está nosso contrato Marketplace atualizado com o modificador onlySeller :

Solidez 
 // Identificador de licença SPDX: solidez do pragma MIT 
 ^0.8.6; 

 contract Marketplace { 
 // Define uma nova estrutura para os itens 
 struct Item {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    // Array para armazenar todos os itens 
 Item[] public items; 

 // Modificador que verifica se o chamador é o vendedor de um item 
 modifier 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 'onlySeller' 
 function removeItemFromSale(uint _itemId) public onlySeller(_itemId) {
        items[_itemId].forSale = false;
    }

    // Função para atualizar o preço de um item, atualizado com o modificador 'onlySeller' 
 function updateItemPrice(uint _itemId, uint _newPrice) public onlySeller(_itemId) {
        items[_itemId].price = _newPrice;
    }
}

Com o modificador onlySeller em vigor, tornamos nossas funções removeItemFromSale e updateItemPrice mais eficientes e legíveis.

Implantando e interagindo com o contrato aprimorado

Depois de aprimorar o contrato Marketplace , siga as mesmas etapas das lições anteriores para compilá-lo e implantá-lo.

Depois que o contrato for implantado, você poderá interagir com ele como antes. Com as melhorias que fizemos nesta lição, nosso contrato é mais eficiente e mais fácil de ler e manter.

Parabéns! Agora você aprendeu como criar, aprimorar e interagir com um mercado descentralizado básico no blockchain Ethereum. Isso marca o fim do nosso curso para iniciantes sobre desenvolvimento de contratos inteligentes com Solidity. Continue experimentando, aprendendo e construindo!

Conclusão

Parabéns! Você chegou ao final deste curso para iniciantes sobre desenvolvimento de contratos inteligentes usando Solidity. Ao longo de quatro aulas, exploramos a criação, implantação e interação com contratos inteligentes em um ambiente Ethereum simulado, usando o IDE Remix.

Vamos recapitular o que alcançamos:

  • Lição 1: Introduziu os fundamentos do Ethereum, blockchain e contratos inteligentes. Desenvolvemos nosso primeiro contrato inteligente simples, Item.sol, que definia um único item que poderia ser comprado ou vendido.
  • Lição 2: Ampliamos nosso contrato inicial para criar um contrato Marketplace.sol , que permitia a criação, listagem e compra de vários itens.
  • Lição 3: Adicionamos mais funcionalidades ao nosso mercado, introduzindo métodos para remover itens da venda e atualizar o preço de um item.
  • Lição 4: Melhoramos a legibilidade e a eficiência do nosso contrato inteligente implementando um recurso do Solidity chamado ‘modificadores’. Aprendemos como tornar nosso código mais simplificado e seguro.
    Ao longo desta jornada, você não apenas ganhou uma base sólida em Solidity e no desenvolvimento de contratos inteligentes, mas também deu os primeiros passos para se tornar um desenvolvedor de blockchain. Você aprendeu a pensar em aplicativos descentralizados e sentiu um gostinho do potencial inovador da tecnologia blockchain.

Seguindo em frente, existem vários caminhos para você explorar. Você pode se aprofundar no Solidity, aprendendo sobre recursos mais avançados e considerações de segurança. Você pode explorar outras plataformas blockchain como Polkadot, Cardano ou Binance Smart Chain. Alternativamente, você pode querer aprender sobre desenvolvimento front-end para dApps usando Web3.js ou Ethers.js, ou sobre a implantação de seus contratos na rede Ethereum real.

Seja qual for o caminho que você escolher, lembre-se sempre: o aprendizado mais eficaz é fazendo. Portanto, não tenha medo de experimentar, construir, quebrar e reconstruir. Cada desafio que você enfrenta é uma oportunidade de aprender e crescer.

Obrigado por participar deste curso e ingressar no emocionante mundo do desenvolvimento de blockchain. A revolução do blockchain está apenas começando e desenvolvedores como você estão na vanguarda. Portanto, continue aprendendo, continue construindo e, o mais importante, divirta-se!

Boa codificação!

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.
It seems that you are attempting to access our services from a Restricted Location where Gate 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.