Pelajaran 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!

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.
Katalog
Pelajaran 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!

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili 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.