Compile Seu Contrato
Execute o seguinte comando no diretório flipper para compilar seu smart contract:
Este comando irá gerar o seguinte para o seu contrato: um binário Wasm, um arquivo de metadados (que contém a ABI do contrato) e um arquivo .contract
que agrupa ambos. Este arquivo .contract
pode ser usado para implantar seu contrato em uma rede. Se tudo correr bem, você verá uma pasta chamada "target
" que contém esses arquivos:
Vamos dar uma olhada na estrutura do flipper.json
:
Este arquivo descreve todas as interfaces que podem ser usadas para interagir com o seu contrato:
types
fornece os tipos de dados personalizados usados em todo o restante do JSON.storage
define todos os itens de armazenamento gerenciados pelo seu contrato e como acessá-los.spec
descreve informações sobre as funções chamáveis, como constructors (construtores) e mensagens que um usuário pode chamar para interagir com o contrato. Também contém informações úteis, como os events (eventos) emitidos pelo contrato ou qualquer docs (documentação) relacionada.
Se você observar atentamente os construtores e mensagens, também notará um seletor
que contém um hash de 4 bytes do nome da função e é usado para encaminhar as chamadas do contrato para as funções corretas.
Por padrão, o cargo-contract
compila o contrato no modo de depuração. Isso significa que o contrato, por exemplo, imprimirá declarações como:
Para contratos que devem ser executados em produção, você sempre deve compilar o contrato com --release
:
Isso garantirá que nada desnecessário seja compilado no blob Wasm, tornando seu contrato mais rápido e mais barato de implantar e executar.
INFORMAÇÃO
Com esse comportamento, o cargo-contract
espelha o comportamento do cargo
para programas Rust: a flag --release
deve ser passada explicitamente para o cargo build
.
Last updated
Was this helpful?