Hello World
License
Todos os programas devem começar indicando o tipo de licença, por exemplo:
SPDX indica o tipo de licença correspondente ao código. Se não for especificado um tipo de licença, o compilador do Solidity emitirá um aviso. O SPDX é incluído no bytecode pelo compilador. Em programas de código aberto, como os utilizados no Ethereum, é crucial deixar claros os direitos autorais envolvidos. Isso garante que aqueles que desejam utilizá-los ou até mesmo copiá-los estejam cientes das implicações legais.
Por exemplo, os contratos inteligentes do Uniswap V3 utilizam a seguinte licença:
A licença BUSL protege os direitos autorais por um período de tempo (por exemplo, 3 anos), após o qual o código passa a ser de domínio público.
Uma das licenças mais utilizadas é a MIT, que é uma licença sem restrições. No entanto, ela não assume nenhuma responsabilidade pelo uso do software, deixando claro que o autor não é responsável por eventuais problemas decorrentes do seu uso.
Pragma
A declaração de pragma indica a versão do compilador Solidity que deve ser utilizada para compilar o código sem erros. Caso o compilador usado não seja compatível com a versão especificada no pragma, um erro será emitido.
Por exemplo, uma declaração típica de pragma em Solidity seria:
No exemplo acima, ^0.8.0
significa que o contrato pode ser compilado com qualquer versão do compilador Solidity a partir da 0.8.0, até versões que não introduzam mudanças incompatíveis (breaking changes).
Essa prática é essencial para evitar problemas de incompatibilidade ao usar o contrato em diferentes ambientes e versões do compilador, garantindo maior estabilidade no comportamento do código.
Contract
A palavra contract em Solidity representa um contrato inteligente. Um contrato em Solidity é uma entidade que contém código executável na blockchain Ethereum. Os contratos podem interagir com outros contratos, além de conter variáveis, funções e eventos que definem seu comportamento.
Em linguagens orientadas a objetos, seu equivalente seria uma classe.
Aqui está um exemplo de um contrato simples:
Este é um contrato inteligente chamado HelloWorld que contém:
Uma única variável chamada greet, que é do tipo
string
,Marcada como
public
(visível publicamente),Com o valor inicial atribuído:
"Hello World!"
.
O código do contrato é delimitado por chaves ({
e }
). Essa estrutura simples já permite que o valor da variável seja acessado externamente, exemplificando como contratos podem armazenar e expor informações na blockchain.
Comentarios
Em Solidity, assim como em muitas outras linguagens de programação, os comentários têm como objetivo fornecer explicações e documentar o código-fonte. Esses comentários não afetam a execução do programa, pois são ignorados pelo compilador.
Os comentários servem para:
Documentar o código, facilitando sua leitura e entendimento, seja por outros desenvolvedores ou pelo próprio programador no futuro.
Explicar o propósito e o funcionamento de variáveis, funções e partes específicas do contrato, tornando o código mais acessível e fácil de manter.
Solidity permite criar dois tipos de comentários: em uma única linha ou em várias linhas.
Comentários de uma única linha
Usa-se o símbolo //
para iniciar o comentário. O que vier após ele até o final da linha será ignorado pelo compilador.
Comentários de múltiplas linhas
Para incluir comentários que ocupem mais de uma linha, utiliza-se /*
para iniciar e */
para terminar o bloco.
Comentar seu código de forma clara e objetiva ajuda na colaboração e na manutenção de contratos inteligentes, especialmente em projetos maiores ou open-source.
Last updated