星航计划第一阶段完成攻略近期发现很多新来的小伙伴,想加入星航计划,但是不知道如何开始。本文将介绍星航计划的第一阶段,如何开始,如何完成。给小伙伴们打个样。写本文的目的也是想抛砖引玉一下,如果有小伙伴觉得我写的不好,也请写一份更详细的攻略,有奖哦!首先第一阶段的几个目标完成第一个简单的Mo
近期发现很多新来的小伙伴,想加入星航计划,但是不知道如何开始。 本文将介绍星航计划的第一阶段,如何开始,如何完成。给小伙伴们打个样。 写本文的目的也是想抛砖引玉一下,如果有小伙伴觉得我写的不好,也请写一份更详细的攻略,有奖哦!
其实第一阶段的目标很简单,就是完成第一个Move智能合约,然后部署到测试网络。( 好像什么都没说。。。)
首先建立一个文件夹,命名为 myFirstTask
md myFirstTask然后进入文件夹,运行命令
sui move new myFirstTask不出意外的话,会建立一个目录 myFirstTask
cd myFirstTask
dir这个目录下,会有一个 sources 文件夹,和一个 Move.toml 文件。
可以用vscode打开myFirstTask这个文件夹,可以看得更清楚一些。

然后,在 sources 文件夹下,建立一个文件 HelloWorld.move

输入一个空的结构
module myfirsttask::hello {
    // module contents
}引入一下 modules:
use std::string;
use sui::object::{Self, UID};
use sui::transfer;
use sui::tx_context::{Self, TxContext};增加一个结构体
struct HelloWorldObject has key, store {
        id: UID,
        text: string::String
}增加一个函数
public entry fun mint(ctx: &mut TxContext) {
    let object = HelloWorldObject {
        id: object::new(ctx),
        text: string::utf8(b"Hello World!")
    };
    transfer::transfer(object, tx_context::sender(ctx));
}一个完整的 Move 智能合约就写完了。

然后,编译这个合约
sui move build没有报错的情况是这样显示
INCLUDING DEPENDENCY Sui
INCLUDING DEPENDENCY MoveStdlib
BUILDING myFirstTask开发环境确认
╭─────────┬─────────────────────────────────────┬────────╮
│ alias   │ url                                 │ active │
├─────────┼─────────────────────────────────────┼────────┤
│ devnet  │ https://fullnode.devnet.sui.io:443  │        │
│ mainnet │ https://fullnode.mainnet.sui.io:443 │        │
│ testnet │ https://fullnode.testnet.sui.io:443 │ *      │
╰─────────┴─────────────────────────────────────┴────────╯发布合约到测试网
sui client publish  --gas-budget 100000000控制台会出现一大堆输出,找到
Published Objects:                                                                                 │
│  ┌──                                                                                             │
│  │ PackageID: 0x99690452e2d8ff5fc2d7860aa7e8cb89cadc6ab105473408815f3d248290aaee                 │
│  │ Version: 1                                                                                    │
│  │ Digest: 2FGA4eEpXE4HG2qUgmx2LswaLGPeLRJp9ediiWxvSfzn                                          │
│  │ Modules: hello复制 PackageID 0x99690452e2d8ff5fc2d7860aa7e8cb89cadc6ab105473408815f3d248290aaee
查找PackageID的时候记得切刀 Testnet环境

执行 Execute 前记得链接钱包并调整到 testnet模式
 查看 0x55bde8d7fade2c3ce809bde343fcaabc2062d99bc3a7e1b0b0142418ca94ba6b 这个object的内容
查看 0x55bde8d7fade2c3ce809bde343fcaabc2062d99bc3a7e1b0b0142418ca94ba6b 这个object的内容
 看见 hello world 已经上链
看见 hello world 已经上链
第一阶段已经基本大功告成了! 然后在git上根据要求提交pr,如何pr在官网也有详细介绍,找如何参与那一段,写的很详细。
GitHub - movefuns/SuiStartrek
就可以联系助教,通过审核后就可以获取巨额奖金了!
Move语言学习交流QQ群: 79489587
Sui官方中文开发者电报群: https://t.me/sui_dev_cn
 
                如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!