Scripts
Scripts are executable entrypoints similar to a main
function in a conventional language. A script typically calls functions of a published module that perform updates to global storage. Scripts are ephemeral code snippets that are not published in global storage.
A Move source file (or compilation unit) may contain multiple modules and scripts. However, publishing a module or executing a script are separate VM operations.
Syntax
A script has the following structure:
A script
block must start with all of its use
declarations, followed by any constants
and (finally) the main function
declaration. The main function can have any name (i.e., it need not be called main
), is the only function in a script block, can have any number of arguments, and must not return a value. Here is an example with each of these components:
Scripts have very limited power—they cannot declare friends, struct types or access global storage. Their primary purpose is to invoke module functions.
Last updated