1. Estrutura de Contratos Inteligentes
São realmente infinitas as possibilidades do que se pode fazer com eles mas seu funcionamento se resume em:
#
# Definindo a versão da linguagem.
O comando pragma é usado para definir qual será a versão da linguagem solidity que será usada nesse contrato.
repare no parâmetro .8 entre o .0 e .11 ele indica que é a versão principal, isso quer dizer que um compilador executando a versão 0.8.12 também funcionará, assim como 0.8.12 ou .13
# Importação de bibliotecas e código pronto.
No mundo do desenvolvimento estamos sempre reaproveitando códigos prontos e já testados e você deve se habituar à isso. Mas fique atento pois cada linguagem tem seu padrão de como importar outros códigos.
Pra uma explicação mais detalhada sobre como fazer importações e reutilização de contratos veja o a sessão 21.-bibliotecas-librarys.md
#
# Código do contrato.
dentro contract é onde ficam todas as regras e condições do contrato.