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