Skip to content

账户

在 Sui 中,账户是与 Sui 区块链交互的主要实体。账户持有对象并发起交易来管理这些对象。账户由公钥表示,并使用其相应的私钥进行授权。

账户地址

  1. 地址派生 账户地址从公钥派生,通过密码学哈希算法生成。地址是一个 32 字节的值,使用 address 类型表示。

  2. 地址格式 地址以十六进制形式表示,并以 0x 为前缀。例如: 0x0000000000000000000000000000000000000000000000000000000000000001

  3. 地址用途 地址不仅用于标识账户,还可以指向智能合约或特定对象。

Sui 地址类型

Sui 中的地址使用 Move 的 address 类型表示。以下是地址的两种表示方法:

  1. 十六进制地址 直接使用 0x 开头的 32 字节十六进制值。例如: 0x1 表示 Sui 标准库地址。

  2. 命名地址 命名地址在 Move.toml 文件中定义,编译时替换为实际地址。例如:

    toml
    [addresses]
    std = "0x1"
    sui = "0x2"

    在代码中,stdsui 分别替代 0x10x2

保留地址

Sui 保留了若干特殊地址,用于特定功能和框架模块:

  • 0x1: Sui 标准库地址(别名 std
  • 0x2: Sui 框架地址(别名 sui
  • 0x6: 系统 Clock 对象地址

这些地址内的模块和功能构成了 Sui 的核心生态系统。

账户功能

账户在 Sui 中的核心功能包括:

  1. 对象所有权

    • 每个账户可以持有多个对象,其所有权信息嵌入在对象的元数据中。
    • 只有对象的所有者可以授权更改或转移该对象。
  2. 交易发起

    • 账户发起交易与 Sui 网络交互。例如:
      • 创建新对象
      • 更新对象状态
      • 转移对象所有权
  3. 气体支付

    • Sui 使用气体机制确保交易的成本透明。
    • 每笔交易需支付 SUI 代币,用于覆盖计算和存储的成本。
    • 气体支付机制有效防止垃圾交易和拒绝服务攻击。

总结

  • 账户是 Sui 区块链的核心交互实体。
  • 地址由公钥派生,以 address 类型表示。
  • 账户功能包括对象管理、交易发起和气体支付。
  • 保留地址为 Sui 核心模块提供支持。