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.
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.
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!
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:
Item.sol
, que definia um único item que poderia ser comprado ou vendido.Marketplace.sol
, que permitia a criação, listagem e compra de vários itens.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!
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.
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.
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!
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:
Item.sol
, que definia um único item que poderia ser comprado ou vendido.Marketplace.sol
, que permitia a criação, listagem e compra de vários itens.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!