SuiClient——您应用的“邮局职员”
- 受众: 刚接触 Sui 区块链的开发者。
- 先决条件: 具备区块链概念的基础知识(钱包、交易)。
- 目标: 理解
SuiClient在应用架构中的作用。
简介
在 Sui 生态系统中,您的应用无法直接与区块链网络通信。 它需要一个中间件来处理通信协议、数据获取和交易提交。
SuiClient 是 Sui TypeScript SDK 中用于此目的的主要接口。
架构:"邮局" 类比
将 Sui 网络想象成一个庞大的全球邮政系统。
- 您的应用 是柜台前的客户。
SuiClient则是 邮局职员。
您需要依靠职员来与系统交互。您无法亲自分拣邮件或驾驶配送卡车;必须通过职员提交请求。
- 图片
- 图表
flowchart LR
A["您的应用<br/>(客户)"] -->|请求服务| B("SuiClient<br/>(职员)")
B -->|处理请求| C["Sui 网络节点<br/>(邮政系统)"]
C -->|返回结果| B
B -->|交付物品| A
连接网络
正如柜员在特定分支机构工作一样,SuiClient 实例通过 RPC(远程过程调用)端点 连接到特定的网络环境。
初始化客户端时,需指定其目标环境:
| 网络 | 描述 | 适用场景 |
|---|---|---|
| 主网 | 正式生产网络。真实资产,真实价值。 | 生产级应用。 |
| 测试网 | 公开测试网络。版本与 主网 同步。 | 预发布及集成测试。 |
| 开发网 | 实验性网络。数据会频繁清空。 | 快速原型设计和本地开发。 |
核心功能
SuiClient 处理两类截然不同的操作。理解两者的区别对应用设计至关重要。
1. 读取操作(查询)
这些是用于查询账本上现有数据的请求。
- 成本: 免费(无需 gas 费用)。
- 安全性: 无需钱包签名。
- 机制: 客户端查询节点的本地数据库并立即返回结果。
- 示例:
getObject():获取 NFT 元数据。getBalance():查询钱包余额。
2. 写入操作(交易)
这些是用于更改账本状态的请求。
- 成本: 需消耗 SUI 代币作为 gas 费用。
- 安全性: 需要用户钱包的加密签名。
- 机制: 客户端将已签名的交易提交给网络验证者进行处理。
- 示例:
- 转账。
- 铸造 NFT。
- 修改链上游戏数据。
后续步骤
既然您已经了解了架构,下一步就是执行 读取操作。下一份指南将提供一个脚本,用于从 Sui 开发网查询实时数据。