Programação de Smart Contracts

Postei um conteúdo explicando o básico de smart contracts.
Segue o vídeo:

1 curtida

Como foi visto os contratos são objetos, bom é possível aproveitar a propriedade de herança de um objeto em outra tranzação da rede ethereum para desenvolver outra aplicação?

E outra coisa quem de fato processa as queries realizadas a cada contrato? e o resultado delas é gravado na blockchain?

Sim, solidity suporta herança e herança múltipla:

https://solidity.readthedocs.io/en/v0.5.0/contracts.html#inheritance

Contratos podem também criar transações para chamar funções em outros contratos que tenham outra finalidade. Então o negócio é bem maleável.

Se a função altera alguma variável de estado do contrato (ou seja, causa uma mudança permanente no estado), esta mudança é guardada no blockchain e necessariamente deve ser feita através de uma transação (afinal você precisa pagar por ela).

Se o método não altera o blockchain (somente consulta alguma informação já salva), isto pode ser feito sem uma transação. Basta consultar o blockchain e fazer uma query simples, já que o blockchain é público de qualquer jeito, não faz sentido ter que pagar para ler os dados.

Por exemplo, você pode entrar no etherscan de um contrato qualquer e fazer queries para seus métodos sem pagar nada, nem criar transações:

É assim que os softwares de carteiras consultam o saldo de tokens. Fazem uma chamada ‘balanceOf(endereço)’ no contrato que implementa um certo token. Nesse exemplo que postei, é o antigo contrato da EOS.