Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

ts-sdk-addressTS SDK address 开发

Agent Skill

ts-sdk-address 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,514

周安装

190

GitHub Stars

公开资料未说明

下载量

1,581
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ts-sdk-address(TS SDK address 开发)
来源仓库:https://github.com/iskysun96/ts-sdk-address
安装命令:
openclaw skills install ts-sdk-address
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install ts-sdk-address

简介

ts-sdk-address 专注于 @aptos-labs/ts-sdk 中的 AccountAddress 类型操作与使用规范。

  • 适合在 OpenClaw 中处理地址格式化、AIP-40 标准转换等开发任务时使用。
  • 支持 fromString、fromStrict 等方法的详细说明及长格式/短格式地址处理。
  • 安装命令为 openclaw skills install ts-sdk-address,需注意地址解析可能涉及的权限控制。
  • 建议结合实际项目需求核对特殊地址场景的实现方式。

SKILL.md

name
ts-sdk-address
description
license
MIT
metadata
author
aptos-labs
version
1.0
category
sdk
tags
["typescript", "sdk", "address", "account-address", "aip-40"]
priority
high

TypeScript SDK: AccountAddress

Purpose

Guide correct creation, parsing, and formatting of account addresses in @aptos-labs/ts-sdk. Addresses are 32-byte values; string format follows AIP-40.

ALWAYS

  1. Use AccountAddress.from() for flexible input – accepts string (with or without 0x), Uint8Array, or existing

AccountAddress.

  1. Use addresses as AccountAddress or string in API – SDK accepts AccountAddressInput (string or

AccountAddress) in most APIs.

  1. Use AccountAddress.fromStringStrict() / AccountAddress.fromStrict() when you need AIP-40 strict: LONG (0x +

64 hex chars) or SHORT only for special (0x0–0xf).

  1. Use derived address helpers from the SDK for object/resource/token addresses – do not hand-roll hashing.

NEVER

  1. Do not use raw strings for comparison – use addr.equals(other) or normalize with AccountAddress.from().
  2. Do not assume SHORT form for non-special addresses – non-special addresses must be LONG (64 hex chars) in strict

mode.

  1. Do not use the Hex class for account addresses – use AccountAddress only (per SDK docs).

Address format (AIP-40)

  • Length: 32 bytes (64 hex chars in LONG form).
  • String: Must start with 0x. LONG = 0x + 64 hex chars; SHORT = shortest form (e.g. 0x1, 0xf).
  • Special addresses: 0x00xf (last byte < 16, rest zero). These may be written in SHORT form (0x1, 0xa).
  • Reference: AIP-40.

Creating AccountAddress

From string (recommended: relaxed)

import { AccountAddress } from "@aptos-labs/ts-sdk";

// Relaxed: accepts with or without 0x, SHORT or LONG
const addr1 = AccountAddress.from("0x1");
const addr2 = AccountAddress.from("0xaa86fe99004361f747f91342ca13c426ca0cccb0c1217677180c9493bad6ef0c");
const addr3 = AccountAddress.from("1"); // no 0x ok

From string (strict AIP-40)

// Strict: LONG (0x + 64 chars) or SHORT only for special (0x0–0xf)
const addrStrict = AccountAddress.fromStringStrict(
  "0x0000000000000000000000000000000000000000000000000000000000000001"
);
// Or use fromStrict for any AccountAddressInput
const a = AccountAddress.fromStrict("0x1"); // ok: special address in SHORT form

From bytes

const bytes = new Uint8Array(32);
bytes[31] = 1;
const addr = new AccountAddress(bytes);
// or
const addrFrom = AccountAddress.from(bytes);

Built-in constants

AccountAddress.ZERO; // 0x0
AccountAddress.ONE; // 0x1
AccountAddress.TWO; // 0x2
AccountAddress.THREE; // 0x3
AccountAddress.FOUR; // 0x4
AccountAddress.A; // 0xa

String output

MethodUse case
addr.toString()AIP-40 default: SHORT for special, LONG for others
addr.toStringLong()Always 0x + 64 hex chars
addr.toStringShort()Shortest form (no leading zeros)
addr.toStringLongWithoutPrefix()64 hex chars, no 0x
const addr = AccountAddress.from("0x1");
addr.toString(); // "0x1"
addr.toStringLong(); // "0x0000...0001" (64 chars after 0x)

Validation

const result = AccountAddress.isValid({
  input: "0x1",
  strict: false
});
if (result.valid) {
  // use address
} else {
  console.log(result.invalidReason, result.invalidReasonMessage);
}

Derived addresses (object / resource / token / user-derived)

Import from @aptos-labs/ts-sdk (via core):

import {
  AccountAddress,
  createObjectAddress,
  createResourceAddress,
  createTokenAddress,
  createUserDerivedObjectAddress
} from "@aptos-labs/ts-sdk";

Object address (e.g. named object)

const creator = AccountAddress.from("0x120e79e45d21ef439963580c77a023e2729db799e96e61f878fac98fde5b9cc9");
const seed = "migration::migration_contract"; // or Uint8Array
const objectAddr = createObjectAddress(creator, seed);
// objectAddr.toString() => deterministic 0x... address

Resource account address

const creator = AccountAddress.from("0x41e724e1d4fce6472ffcb5c9886770893eb49489e3f531d0aa97bf951e66d70c");
const seed = "create_resource::create_resource";
const resourceAddr = createResourceAddress(creator, seed);

Token (NFT) object address

const creator = AccountAddress.from("0x9d518b9b84f327eafc5f6632200ea224a818a935ffd6be5d78ada250bbc44a6");
const collectionName = "SuperV Villains";
const tokenName = "Nami #5962";
const tokenAddr = createTokenAddress(creator, collectionName, tokenName);
// Internally: seed = `${collectionName}::${tokenName}` -> createObjectAddress(creator, seed)

User-derived object address

const sourceAddress = AccountAddress.from("0x653a60dab27fe8f3859414973d218e1b7551c778a8650a7055a85c0f8041b2a4");
const deriveFromAddress = AccountAddress.from("0xa");
const userDerivedAddr = createUserDerivedObjectAddress(sourceAddress, deriveFromAddress);

Equality and serialization

const a = AccountAddress.from("0x1");
const b = AccountAddress.from("0x0000000000000000000000000000000000000000000000000000000000000001");
a.equals(b); // true

// BCS: use serializer or SDK entry/script helpers in transaction building

Common mistakes

MistakeCorrect approach
Using Hex for account addressUse AccountAddress only
Comparing with === on stringsUse addr1.equals(addr2) or compare after AccountAddress.from()
Using SHORT for non-special in strictUse LONG (0x + 64 hex chars) or AccountAddress.from() (relaxed)
Hand-rolling object address hashUse createObjectAddress / createTokenAddress / createResourceAddress / createUserDerivedObjectAddress

References

  • SDK: src/core/accountAddress.ts, src/core/account/utils/address.ts
  • AIP-40: https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-40.md
  • Pattern: TYPESCRIPT_SDK.md

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

88.08%
按下载量换算1,393

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills