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 Testnet에서 USDT0 전송을 보내고, 브리지 및 스왑 견적을 가져옵니다. 총 소요 시간: 약 5분.

사전 준비 사항

1. 설치

mkdir stable-sdk-quickstart && cd stable-sdk-quickstart
npm init -y && npm install @stablechain/sdk viem
added 2 packages, audited 3 packages in 2s

테스트 키를 저장합니다:

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). 세 가지 모두에 대해서는 viem과 함께 SDK 사용하기를 참고하세요.

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. 브리지 견적

USDT0를 Ethereum Sepolia에서 Stable Testnet으로 브리지합니다. quoteBridge는 읽기 전용 호출입니다 — 서명도, 가스도 필요 없습니다:

import { Chain } from "@stablechain/sdk";
 
const bridgeQuote = await stable.quoteBridge({
  fromChain: Chain.Sepolia,
  toChain: Chain.StableTestnet,
  fromToken: "0xc4DCC311c028e341fd8602D8eB89c5de94625927",
  toToken: "0x78Cf24370174180738C5B8E352B6D14c83a6c9A9",
  amount: 1,
});
 
console.log("Bridge quote:", bridgeQuote);
Bridge quote: { toAmount: 0.999812 }

견적을 stable.bridge({ ...params, quote })에 전달하여 실행합니다. SDK는 USDT0 → USDT0 경로에는 LayerZero를, 그 외 모든 경우에는 LI.FI를 선택합니다.

5. 스왑 견적

스왑은 LI.FI를 통해 Stable에서 실행됩니다. 견적은 예상 출력값과 미리 빌드된 트랜잭션을 반환합니다:

const swapQuote = await stable.quoteSwap({
  fromToken: "0x8a2B28364102Bea189D99A475C494330Ef2bDD0B",
  toToken: "0x78Cf24370174180738C5B8E352B6D14c83a6c9A9",
  amount: 1,
  fromDecimals: 6,
});
 
console.log("You'll receive:", swapQuote.toAmount, "USDT0");
You'll receive: 0.998 USDT0

stable.swap({ ...params, quote: swapQuote })를 호출하여 실행합니다. ERC-20 소스에 대한 승인은 내부적으로 처리됩니다.

다음 추천