定义对象
Sui 对象是 Sui 生态系统的基本构建块,它们赋予 Sui 动态灵活性、安全的所有权、强大的能力和极速的交易。
要深入了解 Sui 对象,我们首先定义一个对象。在我们的游戏中,城堡代表这样一个对象——它具有独特性、所有权和独特的属性。
虽然我们之前在“自定义类型和能力”课程中介绍了 Castle
结构体,但在本课中,我们需要再次结构化 Castle
结构体,以了解有关结构体的详细信息。
让我们通过使用 struct
关键字来结构化城堡,开始探索 Sui 对象。
public struct Castle {
}
城堡是独特的并且存储在 Sui 上,所以它具有 key
和 store
能力。
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,
}
}