账户
在 Sui 中,账户是与 Sui 区块链交互的主要实体。账户持有对象并发起交易来管理这些对象。账户由公钥表示,并使用其相应的私钥进行授权。
账户地址
地址派生 账户地址从公钥派生,通过密码学哈希算法生成。地址是一个 32 字节的值,使用
address
类型表示。地址格式 地址以十六进制形式表示,并以
0x
为前缀。例如:0x0000000000000000000000000000000000000000000000000000000000000001
地址用途 地址不仅用于标识账户,还可以指向智能合约或特定对象。
Sui 地址类型
Sui 中的地址使用 Move 的 address
类型表示。以下是地址的两种表示方法:
十六进制地址 直接使用
0x
开头的 32 字节十六进制值。例如:0x1
表示 Sui 标准库地址。命名地址 命名地址在
Move.toml
文件中定义,编译时替换为实际地址。例如:toml[addresses] std = "0x1" sui = "0x2"
在代码中,
std
和sui
分别替代0x1
和0x2
。
保留地址
Sui 保留了若干特殊地址,用于特定功能和框架模块:
0x1
: Sui 标准库地址(别名std
)0x2
: Sui 框架地址(别名sui
)0x6
: 系统 Clock 对象地址
这些地址内的模块和功能构成了 Sui 的核心生态系统。
账户功能
账户在 Sui 中的核心功能包括:
对象所有权
- 每个账户可以持有多个对象,其所有权信息嵌入在对象的元数据中。
- 只有对象的所有者可以授权更改或转移该对象。
交易发起
- 账户发起交易与 Sui 网络交互。例如:
- 创建新对象
- 更新对象状态
- 转移对象所有权
- 账户发起交易与 Sui 网络交互。例如:
气体支付
- Sui 使用气体机制确保交易的成本透明。
- 每笔交易需支付 SUI 代币,用于覆盖计算和存储的成本。
- 气体支付机制有效防止垃圾交易和拒绝服务攻击。
总结
- 账户是 Sui 区块链的核心交互实体。
- 地址由公钥派生,以
address
类型表示。 - 账户功能包括对象管理、交易发起和气体支付。
- 保留地址为 Sui 核心模块提供支持。