定义对象

Sui 对象是 Sui 生态系统的基本构建块,它们赋予 Sui 动态灵活性、安全的所有权、强大的能力和极速的交易。

要深入了解 Sui 对象,我们首先定义一个对象。在我们的游戏中,城堡代表这样一个对象——它具有独特性、所有权和独特的属性。

虽然我们之前在“自定义类型和能力”课程中介绍了 Castle 结构体,但在本课中,我们需要再次结构化 Castle 结构体,以了解有关结构体的详细信息。

让我们通过使用 struct 关键字来结构化城堡,开始探索 Sui 对象。

public struct Castle {

}

城堡是独特的并且存储在 Sui 上,所以它具有 keystore 能力。

public struct Castle has key, store {
    id: UID,
}

城堡如设计所示具有序列号,当然,它也有名称和描述。

public struct Castle has key, store {
    id: UID,
    name: String,
    description: String,
    serial_number: u64,
}

到目前为止,已经定义了一个简单的城堡结构。我们将在课程进展过程中根据需要添加一些其他属性。

castle.move 中:

module move_castle::castle{
    use std::string::{Self, String};

    /// The castle.
    public struct Castle has key, store {
        id: UID,
        name: String,
        description: String,
        serial_number: u64,
    }

}