TypeScript SDK Quickstart
学习材料
https://aptos.dev/en/build/sdks/ts-sdk/quickstart
工程初始化
$ mkdir ts_sdk_quickstart && cd ts_sdk_quickstart
$ pnpm init && \
pnpm add -D typescript @types/node ts-node && \
npx tsc --init && \
mkdir src && \
echo 'async function example() { console.log("Running example!")}; example()' > src/quickstart.ts
- 测试
$ pnpx ts-node src/quickstart.ts
Running example!
安装 Aptos TS SDK
$ pnpm add @aptos-labs/ts-sdk
$ cat package.json
{
"name": "ts_sdk_quickstart",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@types/node": "^22.5.4",
"ts-node": "^10.9.2",
"typescript": "^5.5.4"
},
"dependencies": {
"@aptos-labs/ts-sdk": "^1.27.1"
}
}
获取用户创建模块信息
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
async function example() {
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
const modules = await aptos.getAccountModules({
accountAddress:
"0xcb3303e6b96a1a666347bd06e27d24cc0cb09e204fedb6223a7bc9091dc49022",
});
console.log(JSON.stringify(modules, null, 2));
}
example();
创建账号并领水
import {
Account,
Aptos,
AptosConfig,
Network,
AccountAddress,
} from "@aptos-labs/ts-sdk";
const APTOS_COIN = "0x1::aptos_coin::AptosCoin";
const COIN_STORE = `0x1::coin::CoinStore<${APTOS_COIN}>`;
const ALICE_INITIAL_BALANCE = 100_000_000;
const BOB_INITIAL_BALANCE = 100;
async function createAndFundAccount(aptos: Aptos, initialBalance: number) {
const account: Account = Account.generate();
await aptos.fundAccount({
accountAddress: account.accountAddress,
amount: initialBalance,
});
return account;
}
async function getAccountBalance(aptos: Aptos, accountAddress: AccountAddress) {
const accountBalance = await aptos.getAccountResource({
accountAddress: accountAddress,
resourceType: COIN_STORE,
});
return Number(accountBalance.coin.value);
}
async function example() {
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
const alice = await createAndFundAccount(aptos, ALICE_INITIAL_BALANCE);
const bob = await createAndFundAccount(aptos, BOB_INITIAL_BALANCE);
console.log(`alice account: ${alice.accountAddress}`);
console.log(`bob account: ${bob.accountAddress}`);
console.log("\n=== Balances ===");
const aliceBalance = await getAccountBalance(aptos, alice.accountAddress);
console.log(`Alice's balance is: ${aliceBalance}`);
const bobBalance = await getAccountBalance(aptos, bob.accountAddress);
console.log(`Bob's balance is: ${bobBalance}`);
}
example();
// Output:
// alice account: 0x7c36a18406f432fc752df9542d95c08ae299d5a8175614381c7778eafe0954e6
// bob account: 0xc6705ad2cc5435103e59dc9144d5c1ea7b0d99d535d5a4a10bc1c0b32cf52337
// === Balances ===
// Alice's balance is: 100000000
// Bob's balance is: 100