{"content":{"title":"move语言之初见","body":"[move语言](https://learnblockchain.cn/article/4606)的来源是facebook创建的。但是现在被三个区块链项目作为合约语言使用。三个区块链项目都获得了大量的投资。三个项目分别是sui，lim。\r\n我们来初步学习一个move的初级合约的创建。\r\n由于move是基于rust写的。所以要安装move首先要安装rust。rust安装链接点击[这里](https://www.rust-lang.org/tools/install)。安装好了rust后，需要rust的nightly版本并设置为默认。\r\n`rustup default nightly`\r\n    安装好rust后，我们仍然需要单独安装move的编译器。先把move的项目下载下来。使用如下命令进行下载：\r\n    `git clone https://github.com/move-language/move.git`\r\n 进到move的项目里面并运行这个安装脚本: the dev_setup.sh\r\n##  这个脚本可以安装所有的move的依赖库。\r\n\r\n`\r\ncd move\r\n./scripts/dev_setup.sh -ypt`\r\n## 具体安装步骤，可以参考[这里](https://github.com/move-language/move/blob/main/language/documentation/tutorial/README.md)\r\n\r\n安装完成后，就可以打开vscode进行move的变成了。如果move的合约要发到sui等其他链上，还需要安装sui的开发链，这个后续的文章看看有没有机会讲。\r\n        move相较于solidity编程语言，更多的是加入了资源的概念。solidity的合约是主体，里面有owner，有数据，有用户钱包地址等。通过操作这些数据能够修改用户的资金的数量。也就是说合约里面保存了所有的数据。\r\n        而move采用了资源的定义，资源就是一些struct的结构体，这些资源的所有权刚开始都在发布合约的账号下。这些结构体可以用不同的权限进行修饰。例如key，drop等权限控制，如果哪个账户需要用到这些资源，可以move_to给需要使用的账户，即使转给他们了也必须保持这个资源的权限。"},"author":{"user":"https://learnblockchain.cn/people/1885","address":null},"history":"QmPomGpYe6Y7g743F55rA6QxTGEZbheV6zmcKWhhs8xXLg","timestamp":1668563379,"version":1}