开发
SDK
Typescript SDK
SDK 使用教程

Rooch TypeScript SDK 使用教程

  1. 安装

首先需要安装 SDK 包:

npm install @roochnetwork/rooch-sdk
  1. 创建客户端连接

有两种方式连接 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
})
  1. 创建会话账户

为了调用合约,需要先创建会话账户:

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
})
  1. 调用合约
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
})
  1. 查询数据
// 查询余额
const balances = await client.getBalances({
  owner: '0x...' // 账户地址
})
 
// 调用合约视图函数
const viewResult = await client.executeViewFunction({
  target: '0x3::counter::view'
})

注意事项

  1. 测试网络仍在开发中,API可能会频繁变动
  2. 使用WebSocket时记得在不使用时调用 client.destroy() 清理资源
  3. Gas费用默认为 50000000 (0.5 RGas),可根据需要调整
  4. 创建会话时需要指定合约调用权限范围

这是最基础的使用流程,SDK 还提供了更多高级功能,可以根据需要参考 API 文档深入学习。

SDK API 的列表和详细说明请参考SDK 方法清单