Move 编写和运行程序
我们通过一个 Move 应用程序的范例,来了解如何编写和运行 Move 程序。
我们实现一个函数 get_num() 功能,并在 VSCode 中运行,输出指定的结果。
创建模块
我们在项目的目录 modules/ 内创建一个新文件 hello_world.move。
// modules/hello_world.move address 0x1 { module HelloWorld { public fun get_num(): u8 { 1 } } }
如果您想使用自己的地址,而不是0x1,请确保更改此文件中的 0x1 以及下面文件中的地址。
编写脚本
我们在 scripts/ 目录中创建一个脚本 me.move,调用上面的模块:
// scripts/run_hello.move script { use 0x1::HelloWorld; use 0x1::Debug; fun main() { let num = HelloWorld::get_num(); Debug::print<u8>(&num); } }
运行脚本
我们在保持脚本打开的同时,执行以下步骤:
- 通过按
⌘+Shift+P
(在 Mac 上)或Ctrl+Shift+P
(在Linux / Windows上)来切换 VSCode 的命令选项板。 - 键入:
>Move: Run Script
并在看到正确的选项时,按 Enter 或单击。 - 现在,你应该会看到执行结果,输出日志中有 “1” 的信息。
目录结构
目录结构应如下所示:
modules/ hello_world.move scripts/ run_hello.move out/ .mvconfig.json
modules 目录下可以包含任意多的模块,所有这些模块都可以被你的脚本访问到,只要它们都被定义在 .mvconfig.json 所指定的地址下即可。
Move 程序与 Solidity 不同,分为脚本和模块。
脚本可以让开发者在交易中加入更多逻辑,在更加灵活地同时节省时间和资源。
模块允许开发人员更容易扩展区块链的功能,更加灵活地实现自定义智能合约。
Move 的基本数据类型包括: 整型 (u8, u64, u128)、布尔型 boolean 和地址 address。Move 不支持字符串和浮点数。整型整型包括 u8、u64 和 u1 ...