Blockchain é uma tecnologia de registo distribuído que armazena informações em blocos encadeados. Trata-se de uma tecnologia descentralizada, transparente e segura, que oferece características que garantem que os dados não podem ser alterados após serem registados. Hoje vamos aprender como pode criar contratos inteligentes.
Os smart contracts (contratos inteligentes) são programas que funcionam com base numa rede blockchain e que executam automaticamente ações ou acordos quando determinadas condições pré-definidas são cumpridas. Funcionam como contratos digitais que não dependem de intermediários e garantem transações seguras, transparentes e automáticas. Pode saber mais aqui.
Apesar de existirem várias linguagens e plataformas para criar contratos inteligentes, hoje vamos usar a linguagem Solidity (pode ver aqui documentação) e como editor o Remix IDE.
Primeiro Smart Contract
Como referido, um smart contract é um programa que funciona na blockchain e que executa regras automaticamente.
Para começar criamos o nosso primeiro programa. Criamos um novo ficheiro, damos o nome mensagem e depois adicionamos o seguinte código.
Podem copiar o seguinte código:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Mensagem {
string public texto;
// Guardar mensagem
function setMensagem(string memory _msg) public {
texto = _msg;
}
// Ler mensagem
function getMensagem() public view returns (string memory) {
return texto;
}
}
Explicação do Código
- contract Mensagem
- Cria o contrato.
- string public texto
- Variável guardada na blockchain.
- setMensagem
- Permite alterar a mensagem.
- getMensagem
- Permite ler a mensagem.
Depois basta clicar em Compile e em seguida Deploy & Run
Feito isto, o contrato está ativo. Depois podem interagir com o contrato
- Usa setMensagem → escrever mensagem
- Usa getMensagem → ler mensage
Os smart contracts eliminam a necessidade de intermediários (bancos, advogados, etc.), reduzem os custos e tempo para realizar transações, todos os participantes podem verificar o contrato na blockchain e os dados são imutáveis e protegidos por criptografia.