Rooch TypeScript SDK 使用教程
- 安装
 
首先需要安装 SDK 包:
npm install @roochnetwork/rooch-sdk- 创建客户端连接
 
有两种方式连接 Rooch 网络:
HTTP连接(推荐新手使用)
import { RoochClient, getRoochNodeUrl } from '@roochnetwork/rooch-sdk'
 
// 连接测试网
const client = new RoochClient({
  url: getRoochNodeUrl('testnet')
})WebSocket连接
import { RoochClient, RoochWebSocketTransport } from '@roochnetwork/rooch-sdk'
 
// 创建WebSocket传输
const wsTransport = new RoochWebSocketTransport({
  url: getRoochNodeUrl('testnet'),
  reconnectDelay: 1000,
  maxReconnectAttempts: 5
})
 
// 使用WebSocket创建客户端
const client = new RoochClient({
  transport: wsTransport
})- 创建会话账户
 
为了调用合约,需要先创建会话账户:
import { Secp256k1Keypair } from '@roochnetwork/rooch-sdk'
 
// 生成密钥对
const keypair = Secp256k1Keypair.generate()
 
// 创建会话
const session = await client.createSession({
  sessionArgs: {
    appName: 'MyApp',
    appUrl: 'https://myapp.com',
    scopes: ['0x3::empty::empty_with_signer'] // 需要访问的合约方法
  },
  signer: keypair
})- 调用合约
 
import { Transaction } from '@roochnetwork/rooch-sdk'
 
// 创建交易对象
const tx = new Transaction()
 
// 调用合约方法
tx.callFunction({
  target: '0x3::empty::empty_with_signer',
  maxGas: 100000000 // 设置最大gas费用
})
 
// 签名并执行交易
const result = await client.signAndExecuteTransaction({
  transaction: tx,
  signer: session
})- 查询数据
 
// 查询余额
const balances = await client.getBalances({
  owner: '0x...' // 账户地址
})
 
// 调用合约视图函数
const viewResult = await client.executeViewFunction({
  target: '0x3::counter::view'
})注意事项
- 测试网络仍在开发中,API可能会频繁变动
 - 使用WebSocket时记得在不使用时调用 client.destroy() 清理资源
 - Gas费用默认为 50000000 (0.5 RGas),可根据需要调整
 - 创建会话时需要指定合约调用权限范围
 
这是最基础的使用流程,SDK 还提供了更多高级功能,可以根据需要参考 API 文档深入学习。
SDK API 的列表和详细说明请参考SDK 方法清单。