我们设计一个实现基本代币和余额接口的模块,代币可以在不同地址下的余额之间铸造和转移。
执行事务脚本时,通常需要调用不同的 Move 模块,之前的模块示例所示。可以将新模块添加到调用 CLI 的包中的目录中。您还可以添加对其他包的依赖项,以访问它们定义的模块(就像我们对之前的模块所做的那样)。在运行给定脚本之前,该命令将编译并发布包中的每个模块以及包的每个可传递依赖项。
Move 白皮书中详细描述了 Resource这个概念。最初,它是作为一种名为resource的结构体类型被实现,自从引入 ability 以后,它被实现成拥有 Key 和 Store 两种 ability 的结构体。Resource`可以安全的表示数字资产,它不能被复制,也不能被丢弃或重新使用,但是它却可以被安全地存储和转移。
Key
Store
Resource 是一种特殊的结构体,可以在Move代码中定义和创建,也可以使用现有的 Resource。因此,我们可以像使用任何其它数据(比如向量或结构体)那样来管理数字资产。
Resource
Move 命令行界面(Move CLI)是一种工具,它提供了一种与 Move 交互、测试编写和运行 Move 代码以及测试开发对 Move 开发有用的新工具的简单方法。
Move 语言被誉为最适合编写区块链智能合约的语言之一,并且多次被拿来与目前主流的 Solidity 进行比较并力压其一头,主要原因是 Move 对于区块链最核心的 Token 资产进行了更为贴合的处理,弥补了 Solidity 在直观性和安全性的缺陷,这里单独将其最具有特色的 Resource 类型进行重点讲解。