Version: 0.31.0

compile contract


ligo compile contract SOURCE_FILE [OPTION]...


This sub-command compiles a contract to Michelson code. It expects a source file and an entrypoint function that has the type of a contract: "parameter storage -> operations list storage".



SOURCE_FILE is the path to the smart contract file.


-e --entry-point <ENTRY_POINT>

The entry-point that will be compiled.

-s --syntax <SYNTAX>

The syntax that will be used. Currently supported syntaxes are "pascaligo", "cameligo", "reasonligo" and "jsligo". By default, the syntax is guessed from the extension (.ligo, .mligo, .religo, and .jsligo respectively).


Enable type inference

-p --protocol <PROTOCOL_VERSION>

Choose protocol's types/values pre-loaded into the LIGO environment (edo). By default, the current protocol (edo) will be used


The format that will be used by the CLI. Available formats are 'dev', 'json', and 'human-readable' (default). When human-readable lacks details (we are still tweaking it), please contact us and use another format in the meanwhile.


Disable Michelson typecking, this might produce ill-typed Michelson code.

--michelson-format <MICHELSON_FORMAT>

Is the format that will be used by compile contract for the resulting Michelson. Available formats are 'text' (default), 'json' and 'hex'.

-o --output-file <OUTPUT_FILE>

If used, prints the output into the specified file instead of stdout

--warn <BOOL>

Indicates whether warning messages should be printed in stderr or not

--werror <BOOL>

Indicates whether warning messages should be treated as errors or not