Lição 4

Melhorando a eficiência de código com modificadores

Os modificadores em Solidez são uma característica poderosa que nos permite incorporar verificações preliminares nas nossas funções, resultando em códigos mais legíveis e eficientes.

Introdução aos Modificadores

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.

Aqui está o nosso contrato de 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.

Implementar e interagir com o Contrato Melhorado

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!

Conclusão

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:

  • Lição 1: Apresentado o básico de Ethereum, blockchain e smart contracts. Desenvolvemos o nosso primeiro contrato inteligente simples, Item.Sol, que definiu um único item que pode ser comprado ou vendido.
  • Lição 2: Expandimos o nosso contrato inicial para criar um contrato de MarketPlace.Sol, que permitia a criação, listagem e compra de vários itens.
  • Lição 3: Adicionámos mais funcionalidade ao nosso mercado introduzindo métodos para remover itens da venda e atualizar o preço de um item.
  • Lição 4: Aumentámos a legibilidade e a eficiência do nosso contrato inteligente implementando uma funcionalidade de Solidez chamada 'modificadores'. Aprendemos a tornar o nosso código mais simplificado e seguro.
    Ao longo desta jornada, não só ganhou uma base sólida no Solidez e no desenvolvimento de contratos inteligentes, como deu os seus primeiros passos para se tornar um desenvolvedor de blockchain. Aprendeu a pensar em aplicações descentralizadas e teve uma prova do potencial inovador da tecnologia blockchain.

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!

Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.
Catálogo
Lição 4

Melhorando a eficiência de código com modificadores

Os modificadores em Solidez são uma característica poderosa que nos permite incorporar verificações preliminares nas nossas funções, resultando em códigos mais legíveis e eficientes.

Introdução aos Modificadores

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.

Aqui está o nosso contrato de 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.

Implementar e interagir com o Contrato Melhorado

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!

Conclusão

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:

  • Lição 1: Apresentado o básico de Ethereum, blockchain e smart contracts. Desenvolvemos o nosso primeiro contrato inteligente simples, Item.Sol, que definiu um único item que pode ser comprado ou vendido.
  • Lição 2: Expandimos o nosso contrato inicial para criar um contrato de MarketPlace.Sol, que permitia a criação, listagem e compra de vários itens.
  • Lição 3: Adicionámos mais funcionalidade ao nosso mercado introduzindo métodos para remover itens da venda e atualizar o preço de um item.
  • Lição 4: Aumentámos a legibilidade e a eficiência do nosso contrato inteligente implementando uma funcionalidade de Solidez chamada 'modificadores'. Aprendemos a tornar o nosso código mais simplificado e seguro.
    Ao longo desta jornada, não só ganhou uma base sólida no Solidez e no desenvolvimento de contratos inteligentes, como deu os seus primeiros passos para se tornar um desenvolvedor de blockchain. Aprendeu a pensar em aplicações descentralizadas e teve uma prova do potencial inovador da tecnologia blockchain.

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!

Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.