Compile
Turn source into an artifact with a code hash. This is also your first real correctness check.
animica contract compile ./mycontract/contract.py
A successful compile prints something like:
Compile succeeded Contract: Counter Artifact: ~/.animica/contracts/artifacts/Counter-27c4af9f.avm Code hash: 0x27c4af9f2a21fb6805fc20d2a91219e6d1421c4a81fe1e10b476adb6cc8fe5f6 ABI: ~/.animica/contracts/artifacts/Counter-27c4af9f.abi.json
The code hash identifies your bytecode exactly. Two people compiling the same source get the same hash — that is what lets anyone verify that a deployed contract really is the code you published.
You may see this line:
[vm-compile] runtime loader path unavailable: forbidden import: __future__
That is a warning, not an error — the compiler's strict loader rejects from __future__ import annotations, then falls back to another path and compiles successfully. Every shipped Animica contract, including the token standard, is written this way. If the line above is followed by Compile succeeded, you are fine.
Useful neighbours:
animica contract list-artifacts # everything you have compiled animica contract inspect <artifact> # read back the ABI animica contract estimate-gas ... # what a call will cost
Claim your 10 ANM
Finish this lesson and claim 10 ANM, once per address. Paid from the Animica treasury in batches — allow a few minutes.
Stuck? Ask
Answered by Animica's own free inference network. It is donated GPU capacity, so give it 20-30 seconds.