Limpe os arquivos que não vamos usar
Antes de começar a escrever seu primeiro contrato, nós vamos remover alguns arquivos que não serão necessários no projeto.
Primeiro exclua o arquivo Lock.js
dentro da pasta test
.
Agora exclua o arquivo deploy.js
dentro da pasta scripts
.
E, por fim, exclua o arquivo Lock.sol
dentro da pasta contracts
.
Esses arquivos são gerados automaticamente pelo comando npx hardhat
que você rodou nas etapas anteriores, eles são somente de teste, nós vamos recriar esses arquivos do zero.
Escreva seu primeiro contrato inteligente com Solidity
Até agora, tudo que a gente fez foi preparar nosso ambiente de desenvolvimento Solidity. Chegou, então, a hora de escrever o contrato inteligente do zero.
Primeiro você irá criar um arquivo chamado XPost.sol
dentro da pasta contracts e colará o seguinte código:
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.19;
import "hardhat/console.sol";
contract XPost {
constructor() {
console.log("Eu serei o contrato inteligente para fazer um post no Twitter descentralizado.");
}
}
Como esse é nosso primeiro contato com Solidity, vou tentar explicar rapidamente o que significa o código.
O código // SPDX-License-Identifier: UNLICENSED
é necessário para especificar qual tipo de licensa que seu software terá. "Unlicensed" implica que o contrato será descentralizado, ou seja, não terá uma empresa específica por trás como dono.
A linha pragma solidity ^0.8.19;
é só para especificar a versão do solidity que estamos usando.
Já a linha import "hardhat/console.sol";
é responsável em rodar os contratos que serão gerenciados no ambiente Hardhat.
O código a seguir é o padrão para inicializar qualquer contrato inteligente e se assemelha muito às linguagens orientadas a objetos:
contract XPost {
constructor() {
console.log("Eu serei o contrato inteligente para fazer um post no Twitter descentralizado.");
}
}
Pronto! Agora você acabou de escrever seu primeiro contrato inteligente, na próxima aula você aprenderá a como testar esse contrato.