跳到主要内容

SuiClient:您应用的“邮局职员”

  • 受众: 刚接触 Sui 区块链的开发者。
  • 先决条件: 区块链基本概念(钱包、交易)的了解。
  • 目标: 理解 SuiClient 在应用架构中的角色。

简介​

在 Sui 生态系统中,您的应用无法直接与区块链网络通信。它需要一个中间件来处理通信协议、数据获取和交易提交。

SuiClient 是 Sui TypeScript SDK 中用于此目的的主要接口。

架构:“邮局”类比​

将 Sui 网络想象成一个庞大的全球邮政系统。

  • 您的应用是柜台前的客户。
  • SuiClient是邮局职员。

您依赖职员来与系统交互。您无法亲自分拣邮件或驾驶送货卡车;必须通过职员提出请求。

screenshot of SuiClient architecture

连接网络​

就像职员在特定网点工作一样,SuiClient 实例通过 远程过程调用(RPC)端点 连接到特定的网络环境。

初始化客户端时,您需要定义其针对的环境:

网络描述使用场景
Mainnet正式生产网络。真实资产,真实价值。生产环境应用。
Testnet公共测试网络。镜像 Mainnet 版本。预发布和集成测试。
Devnet实验性网络。数据定期重置。快速原型设计和公开测试。
Localnet在您的机器上运行的本地测试网络。离线开发和测试。

核心能力​

SuiClient 处理两类截然不同的操作。理解两者的区别对应用设计至关重要。

1. 读取操作(查询)​

这些是查询账本上现有数据的请求。

  • 成本: 免费(无需 gas 费用)。
  • 安全性: 无需钱包签名。
  • 机制: 客户端查询节点的本地数据库并立即返回结果。
  • 示例:
    • getObject(): 获取非同质化代币(NFT)元数据。
    • getBalance(): 查询钱包余额。

2. 写入操作(交易)​

这些是更改账本状态的请求。

  • 成本: 需要 SUI 代币(以 MIST 为单位)支付 gas 费用。
  • 安全性: 需要用户钱包的加密签名。
  • 机制: 客户端通过 RPC 全节点提交已签名的交易,全节点将其转发给验证节点网络进行执行和共识。
  • 示例:
    • 转账代币。
    • 铸造 NFT。
    • 修改链上游戏数据。

后续步骤​

既然您已经了解了架构,下一步就是执行读取操作。下一篇指南 如何获取对象数据 提供了一个脚本,用于从 Sui devnet 查询实时数据。