Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

SDK 快速入门

您将安装 @stablechain/sdk,创建一个由私钥签名的客户端,在 Stable 测试网上发送 USDT0 转账,并获取主网桥接报价。总共耗时:大约五分钟。

前提条件

1. 安装

mkdir stable-sdk-quickstart && cd stable-sdk-quickstart
npm init -y && npm pkg set type=module
npm install @stablechain/sdk viem dotenv
added 3 packages, audited 4 packages in 2s

type=module 允许您在下面的步骤中使用顶层 await;如果没有它,tsx 将拒绝该脚本。

保存您的测试密钥:

echo "PRIVATE_KEY=0xYOUR_TEST_KEY" > .env

2. 创建客户端

创建 index.ts

import "dotenv/config";
import { createStable, Network } from "@stablechain/sdk";
import { privateKeyToAccount } from "viem/accounts";
 
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
 
const stable = createStable({
  network: Network.Testnet,
  account,
});
 
console.log("Signer:", account.address);
Signer: 0xYourAddress

createStable 支持三种签名模式:account(服务器端,如上所示)、transport(通过 custom(window.ethereum) 的浏览器钱包)或 walletClient(预构建的 viem WalletClient)。有关所有三种模式的详细信息,请参阅将 SDK 与 viem 结合使用

3. 发送 USDT0 转账

追加到 index.ts

const { txHash } = await stable.transfer({
  from: account.address,
  to: "0x000000000000000000000000000000000000dEaD",
  amount: 0.001,
});
 
console.log("Transfer:", txHash);

运行它:

npx tsx index.ts
Signer: 0xYourAddress
Transfer: 0x8f3a...2d41

测试网浏览器上打开哈希以进行确认。

4. 获取桥接报价

桥接和交换路由通过 LI.FI,它支持 Stable 主网但不支持测试网。quoteBridge 是一个只读调用(无需签名、无需 Gas、无需资金),因此您可以使用相同的密钥预览主网桥接。追加:

import { Chain } from "@stablechain/sdk";
 
const stableMainnet = createStable({
  network: Network.Mainnet,
  account,
});
 
const bridgeQuote = await stableMainnet.quoteBridge({
  fromChain: Chain.Ethereum,
  toChain: Chain.Stable,
  fromToken: "0xdAC17F958D2ee523a2206206994597C13D831ec7", // 以太坊上的 USDT
  toToken: "0x779Ded0c9e1022225f8E0630b35a9b54bE713736", // Stable 上的 USDT0
  amount: 100,
});
 
console.log("Bridge quote:", bridgeQuote);
Bridge quote: { toAmount: 99.73 }

将报价传递给 stableMainnet.bridge({ ...params, quote }) 以执行。路由通过 LI.FI,它选择桥接路径;SDK 处理批准和链切换。

5. 交换

同链交换遵循相同的模式:stable.quoteSwap 返回预期输出和一个预构建的交易,stable.swap({ ...params, quote }) 执行它,内部处理 ERC-20 批准。

推荐的下一步