{"id":50401272,"url":"https://github.com/weisyn/client-sdk-js","last_synced_at":"2026-05-30T23:31:16.961Z","repository":{"id":324696013,"uuid":"1097372122","full_name":"weisyn/client-sdk-js","owner":"weisyn","description":"WES Client SDK for JavaScript/TypeScript - 用于链外应用开发的 JavaScript/TypeScript 客户端工具包，提供 Token、Staking、Market、Governance、Resource 等业务服务","archived":false,"fork":false,"pushed_at":"2025-12-31T08:27:16.000Z","size":1342,"stargazers_count":1,"open_issues_count":10,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-04T12:10:57.404Z","etag":null,"topics":["blockchain","blockchain-sdk","client-sdk","dapp","grpc","javascript","json-rpc","market","nodejs","resource","sdk","token","typescript","utxo","wallet","web3","websocket","wes"],"latest_commit_sha":null,"homepage":"http://www.weisyn.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weisyn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://weisyn.com"]}},"created_at":"2025-11-16T03:32:42.000Z","updated_at":"2025-12-31T08:27:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/weisyn/client-sdk-js","commit_stats":null,"previous_names":["weisyn/client-sdk-js"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/weisyn/client-sdk-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weisyn%2Fclient-sdk-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weisyn%2Fclient-sdk-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weisyn%2Fclient-sdk-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weisyn%2Fclient-sdk-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weisyn","download_url":"https://codeload.github.com/weisyn/client-sdk-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weisyn%2Fclient-sdk-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33714033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","blockchain-sdk","client-sdk","dapp","grpc","javascript","json-rpc","market","nodejs","resource","sdk","token","typescript","utxo","wallet","web3","websocket","wes"],"created_at":"2026-05-30T23:31:15.986Z","updated_at":"2026-05-30T23:31:16.951Z","avatar_url":"https://github.com/weisyn.png","language":"TypeScript","funding_links":["https://weisyn.com"],"categories":[],"sub_categories":[],"readme":"# WES Client SDK for JavaScript/TypeScript\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cpre\u003e\n__          ________ _____  _______     ___   _ \n\\ \\        / /  ____|_   _|/ ____\\ \\   / / \\ | |\n \\ \\  /\\  / /| |__    | | | (___  \\ \\_/ /|  \\| |\n  \\ \\/  \\/ / |  __|   | |  \\___ \\  \\   / | . ` |\n   \\  /\\  /  | |____ _| |_ ____) |  | |  | |\\  |\n    \\/  \\/   |______|_____|_____/   |_|  |_| \\_|\n\u003c/pre\u003e\n\n**WES 区块链客户端开发工具包 - JavaScript/TypeScript 版本**  \n**为前端应用、浏览器 DApp 和 Node.js 服务提供完整的 WES 区块链交互能力**\n\n[![npm version](https://img.shields.io/npm/v/@weisyn/client-sdk-js.svg)](https://www.npmjs.com/package/@weisyn/client-sdk-js)\n[![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3+-blue.svg)](https://www.typescriptlang.org/)\n\n[🚀 快速开始](#-快速开始) • [🎯 使用场景](#-使用场景) • [💡 核心能力](#-核心能力) • [🏗️ 架构概览](#️-架构概览) • [📚 文档导航](#-文档导航)\n\n\u003c/div\u003e\n\n---\n\n## 🌟 它能帮你做什么？\n\n在传统区块链开发中，开发者需要：\n- ❌ 理解底层协议细节（UTXO、交易构建、签名等）\n- ❌ 手动构建交易（选择输入、创建输出、计算手续费）\n- ❌ 处理复杂的业务逻辑组合（转账、授权、质押等）\n\n**WES Client SDK 让这一切成为过去**：\n\n- ✅ **业务语义优先** - 提供 `Transfer()`、`Stake()`、`Vote()` 等直观的业务接口\n- ✅ **TypeScript 支持** - 完整的 TypeScript 类型定义和编译期检查\n- ✅ **浏览器 \u0026 Node.js** - 同时支持浏览器和 Node.js 环境\n- ✅ **企业级能力** - 支持完整的业务服务（Token、Staking、Market、Governance、Resource）\n- ✅ **类型安全** - 完整的类型定义和编译期检查，减少运行时错误\n\n\u003e 💡 **文档导航**：完整的 SDK 文档请查看 [📚 文档中心](./docs/README.md)\n\n\u003e 💡 **Client SDK vs Contract SDK**：\n\u003e - **Client SDK**（本仓库）：用于链外应用开发（DApp、钱包、浏览器、后端服务），通过 API 与节点交互\n\u003e - **Contract SDK**：用于链上智能合约开发（WASM 合约），运行在 WES 节点上\n\u003e \n\u003e 详见：[Contract SDK (Go)](https://github.com/weisyn/contract-sdk-go)\n\n---\n\n## 🚀 快速开始\n\n### 前置要求\n\n- **Node.js 20+** - 用于开发环境\n- **TypeScript 5.0+** - 用于类型检查（可选但推荐）\n\n### 安装 SDK\n\n```bash\nnpm install @weisyn/client-sdk-js\n# 或\nyarn add @weisyn/client-sdk-js\n# 或\npnpm add @weisyn/client-sdk-js\n```\n\n### 第一个应用\n\n```typescript\nimport { Client, TokenService, Wallet } from '@weisyn/client-sdk-js';\n\n// 1. 初始化客户端\nconst client = new Client({\n  endpoint: 'http://localhost:28680',\n  protocol: 'http',\n});\n\n// 2. 创建钱包\nconst wallet = Wallet.fromPrivateKey('0x...');\n\n// 3. 创建 Token 服务\nconst tokenService = new TokenService(client, wallet);\n\n// 4. 执行转账\nconst result = await tokenService.transfer({\n  from: wallet.address,\n  to: '0x...',\n  amount: 1000000, // 1 WES (假设 6 位小数)\n  tokenId: null, // null 表示原生币\n});\n\nconsole.log(`转账成功！交易哈希: ${result.txHash}`);\n```\n\n### 浏览器中使用\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n  \u003cscript src=\"https://unpkg.com/@weisyn/client-sdk-js/dist/index.umd.js\"\u003e\u003c/script\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003cscript\u003e\n    const { Client, TokenService, Wallet } = WESClientSDK;\n    \n    const client = new Client({\n      endpoint: 'http://localhost:28680',\n      protocol: 'http',\n    });\n    \n    // ... 使用 SDK\n  \u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n\u003e 📖 **完整指南**：[开发者指南](./docs/DEVELOPER_GUIDE.md) | [快速开始文档](./docs/getting-started.md)\n\n---\n\n## 🎯 使用场景\n\n### 按角色选择使用方式\n\n| 角色 | 推荐使用方式 | 说明 |\n|------|------------|------|\n| **合约开发者** | `WESClient` + `ResourceService` | 部署合约、查询合约状态、调用合约方法 |\n| **Workbench 用户** | `WESClient` + 业务服务（`TokenService`、`StakingService` 等） | 完整的业务操作，包括合约部署、代币操作、质押等 |\n| **后端服务** | `WESClient` + 业务服务 | 服务器端应用，需要完整的业务语义支持 |\n| **DApp 前端** | `WESClient` + `Wallet` | 浏览器应用，需要钱包集成和用户交互（推荐使用 ESM 包和 Tree Shaking） |\n| **工具链开发者** | 底层 `Client` 接口 | 需要直接调用 JSON-RPC 或自定义逻辑 |\n\n\u003e 📖 **详细指南**：\n\u003e - [WESClient 使用示例](./docs/examples/wesclient.md) - 类型化 API 使用\n\u003e - [业务服务指南](./docs/guides/) - 完整的业务服务说明\n\u003e - [业务场景实现指南](./docs/BUSINESS_SCENARIOS.md) - 如何实现业务场景\n\n---\n\n## 💡 核心能力\n\n### 1. 🎯 WESClient 类型化 API\n\nSDK 提供强类型的 `WESClient` 接口，封装所有核心 RPC 调用：\n\n```typescript\nimport { WESClient } from '@weisyn/client-sdk-js';\n\n// 初始化 WESClient\nconst wesClient = new WESClient({\n  endpoint: 'http://localhost:28680',\n  protocol: 'http',\n});\n\n// UTXO 操作\n// 通过地址查询所有 UTXO（地址模型，与节点 API 对齐）\nconst utxos = await wesClient.listUTXOs(address);\n\n// 资源操作\nconst resource = await wesClient.getResource(contentHash);\n\n// 交易操作\nconst tx = await wesClient.getTransaction(txHash);\nconst txHash = await wesClient.submitTransaction(signedTx);\n```\n\n\u003e 📖 **详细文档**：[API 参考](./docs/API_REFERENCE.md#wesclient-类型化-api)\n\n### 2. 🔧 业务服务层\n\nSDK 提供完整的业务服务模块，让开发者专注于业务逻辑：\n\n| 服务 | 功能 | 详细文档 |\n|------|------|---------|\n| **Token** | 转账、批量转账、铸造、销毁、余额查询 | [Token 服务](./docs/API_REFERENCE.md#token-服务) |\n| **Staking** | 质押、解质押、委托、取消委托、领取奖励 | [Staking 服务](./docs/API_REFERENCE.md#staking-服务) |\n| **Market** | AMM 交换、流动性管理、归属计划、托管 | [Market 服务](./docs/API_REFERENCE.md#market-服务) |\n| **Governance** | 提案、投票、参数更新 | [Governance 服务](./docs/API_REFERENCE.md#governance-服务) |\n| **Resource** | 合约部署、AI 模型部署、静态资源部署、资源查询 | [Resource 服务](./docs/API_REFERENCE.md#resource-服务) |\n\n\u003e 📖 **完整能力矩阵**：详见 [API 参考](./docs/API_REFERENCE.md)\n\n### 3. 🔐 交易构建与签名\n\n完整的离线/在线交易构建与签名流程：\n\n```typescript\n// 业务服务自动处理交易构建\nconst result = await tokenService.transfer(req);\n\n// SDK 内部流程：\n// 1. 构建交易草稿 (DraftJSON)\n// 2. 调用节点 API (wes_buildTransaction)\n// 3. Wallet 签名\n// 4. 完成交易 (wes_finalizeTransactionFromDraft)\n// 5. 提交交易 (wes_sendRawTransaction)\n```\n\n\u003e 📖 **详细流程**：详见 [开发者指南](./docs/DEVELOPER_GUIDE.md#交易流程)\n\n### 4. 📡 事件订阅 \u0026 钱包\n\n- **事件订阅**：支持实时事件订阅（WebSocket）\n- **密钥管理**：安全的密钥管理和钱包功能\n- **浏览器支持**：使用 Web Crypto API，Node.js 使用 crypto 模块\n\n\u003e 📖 **详细文档**：详见 [API 参考](./docs/API_REFERENCE.md#事件订阅) | [钱包功能](./docs/API_REFERENCE.md#钱包功能)\n\n### 5. 🌐 浏览器 \u0026 Node.js 支持\n\n- **浏览器**：支持 ESM、UMD 格式，支持 Tree Shaking\n- **Node.js**：支持 CJS、ESM 格式\n- **TypeScript**：完整的类型定义\n\n\u003e 📖 **环境限制和兼容性**：详见 [语言与环境限制](./docs/LANGUAGE_AND_ENV_LIMITATIONS.md)\n\n---\n\n## 🏗️ 架构概览\n\n\u003e 📖 **完整架构文档**：详见 [SDK 架构文档](./docs/SDK_ARCHITECTURE.md) | [架构规划文档](./docs/ARCHITECTURE_PLAN.md)\n\n### 在 WES 7 层架构中的位置\n\n`client-sdk-js` 位于 WES 系统的**应用层 \u0026 开发者生态**中的 **SDK 工具链**，通过 **API 网关层**与 WES 节点交互：\n\n```mermaid\ngraph TB\n    subgraph DEV_ECOSYSTEM[\"🎨 应用层 \u0026 开发者生态\"]\n        direction TB\n        subgraph SDK_LAYER[\"SDK 工具链\"]\n            direction LR\n            CLIENT_SDK[\"Client SDK\u003cbr/\u003eGo/JS/Python/Java\u003cbr/\u003e📱 DApp·钱包·浏览器\u003cbr/\u003e⭐ client-sdk-js\u003cbr/\u003e链外应用开发\"]\n            CONTRACT_SDK[\"Contract SDK (WASM)\u003cbr/\u003eTypeScript/AssemblyScript\u003cbr/\u003e📜 智能合约开发\u003cbr/\u003e链上合约开发\u003cbr/\u003egithub.com/weisyn/contract-sdk-js\"]\n            AI_SDK[\"AI SDK (ONNX)\"]\n        end\n        subgraph END_USER_APPS[\"终端应用\"]\n            direction LR\n            WALLET_APP[\"Wallet\u003cbr/\u003e钱包应用\"]\n            EXPLORER[\"Explorer\u003cbr/\u003e区块浏览器\"]\n            DAPP[\"DApp\u003cbr/\u003e去中心化应用\"]\n        end\n    end\n    \n    subgraph API_GATEWAY[\"🌐 API 网关层\"]\n        direction LR\n        JSONRPC[\"JSON-RPC 2.0\u003cbr/\u003e:28680\"]\n        HTTP[\"HTTP REST\u003cbr/\u003e/api/v1/*\"]\n        WS[\"WebSocket\u003cbr/\u003e:28681\"]\n    end\n    \n    subgraph BIZ_LAYER[\"💼 业务服务层\"]\n        APP_SVC[\"App Service\u003cbr/\u003e应用编排·生命周期\"]\n    end\n    \n    WALLET_APP --\u003e CLIENT_SDK\n    EXPLORER --\u003e CLIENT_SDK\n    DAPP --\u003e CLIENT_SDK\n    \n    CLIENT_SDK --\u003e JSONRPC\n    CLIENT_SDK --\u003e HTTP\n    CLIENT_SDK --\u003e WS\n    \n    JSONRPC --\u003e APP_SVC\n    HTTP --\u003e APP_SVC\n    WS --\u003e APP_SVC\n    \n    style CLIENT_SDK fill:#81C784,color:#fff,stroke:#4CAF50,stroke-width:3px\n    style API_GATEWAY fill:#64B5F6,color:#fff\n    style BIZ_LAYER fill:#FFB74D,color:#333\n```\n\n\u003e 📖 **完整 WES 架构**：详见 [WES 系统架构文档](https://github.com/weisyn/go-weisyn/blob/main/docs/system/architecture/1-STRUCTURE_VIEW.md#-系统分层架构)  \n\u003e 📜 **Contract SDK**：用于链上智能合约开发，详见 [Contract SDK (JS)](https://github.com/weisyn/contract-sdk-js)\n\n### SDK 内部分层架构\n\nSDK 采用分层架构，**应用开发者只需使用业务服务层**：\n\n```mermaid\ngraph TB\n    subgraph APP_LAYER[\"应用层 (DApp)\"]\n        direction LR\n        WALLET_APP[\"钱包应用\"]\n        DAPP_FRONT[\"DApp 前端\"]\n        BACKEND[\"后端服务\"]\n    end\n    \n    subgraph SERVICES_LAYER[\"业务服务层 (services/)\"]\n        direction LR\n        TOKEN[\"Token\"]\n        STAKING[\"Staking\"]\n        MARKET[\"Market\"]\n        GOVERNANCE[\"Governance\"]\n        RESOURCE[\"Resource\"]\n    end\n    \n    subgraph CLIENT_LAYER[\"核心客户端层 (client/)\"]\n        direction LR\n        HTTP_CLIENT[\"HTTP\"]\n        WS_CLIENT[\"WebSocket\"]\n    end\n    \n    subgraph WALLET_LAYER[\"钱包层 (wallet/)\"]\n        direction LR\n        WALLET[\"Wallet\"]\n        KEYSTORE[\"Keystore\"]\n    end\n    \n    subgraph NODE[\"WES 节点\"]\n        JSONRPC_API[\"JSON-RPC API\u003cbr/\u003e(HTTP/WebSocket)\"]\n    end\n    \n    APP_LAYER --\u003e SERVICES_LAYER\n    SERVICES_LAYER --\u003e CLIENT_LAYER\n    SERVICES_LAYER --\u003e WALLET_LAYER\n    CLIENT_LAYER --\u003e NODE\n    WALLET_LAYER -.签名.-\u003e SERVICES_LAYER\n    \n    style SERVICES_LAYER fill:#4CAF50,color:#fff\n    style CLIENT_LAYER fill:#2196F3,color:#fff\n    style WALLET_LAYER fill:#FF9800,color:#fff\n    style NODE fill:#9C27B0,color:#fff\n```\n\n**关键原则**：\n- ✅ **应用开发者**：只使用 `services` 层的业务语义接口\n- ✅ **SDK 职责**：自动处理底层协议细节（交易构建、签名、提交等）\n- ❌ **不需要了解**：底层协议实现细节\n\n\u003e 📖 **完整架构和交易流程**：详见 [SDK 架构文档](./docs/SDK_ARCHITECTURE.md)\n\n---\n\n## 📖 文档导航\n\n### 🎯 按角色导航\n\n**👨‍💻 应用开发者**\n\n- [快速开始](#-快速开始) → [开发者指南](./docs/DEVELOPER_GUIDE.md) → [业务场景实现指南](./docs/BUSINESS_SCENARIOS.md)\n\n**🏗️ 架构师/贡献者**\n\n- [架构概览](#-架构概览) → [文档中心](./docs/README.md) → [架构设计文档](./docs/SDK_ARCHITECTURE.md)\n\n**📚 深入理解**\n\n- [API 参考](./docs/API_REFERENCE.md) → [业务场景实现指南](./docs/BUSINESS_SCENARIOS.md)\n\n### 📘 核心文档\n\n| 文档 | 说明 | 受众 |\n|------|------|------|\n| ⭐ **[主 README](./README.md)** | SDK 总览和快速开始 | 所有用户 |\n| 📖 **[文档中心](./docs/README.md)** | 完整文档索引和导航 | 所有用户 |\n| 🚀 **[开发者指南](./docs/DEVELOPER_GUIDE.md)** | 如何使用 TS/JS SDK 开发应用 | 应用开发者 |\n| 📚 **[API 参考](./docs/API_REFERENCE.md)** | TS/JS SDK 接口详细说明 | 应用开发者 |\n| 🎯 **[业务场景实现指南](./docs/BUSINESS_SCENARIOS.md)** | 如何实现业务场景 | 应用开发者 |\n| 🏗️ **[架构设计文档](./docs/SDK_ARCHITECTURE.md)** | SDK 架构设计讨论 | 架构师/贡献者 |\n| ⚠️ **[语言与环境限制](./docs/LANGUAGE_AND_ENV_LIMITATIONS.md)** | TypeScript/JavaScript 限制和最佳实践 | 应用开发者 |\n\n### 🔗 模块文档\n\n- **[WESClient 使用示例](./docs/examples/wesclient.md)** - 类型化 API 使用\n- **[业务服务指南](./docs/guides/)** - 完整的业务服务说明\n- **[钱包功能](./docs/api/wallet.md)** - 钱包功能详细说明\n\n\u003e 📖 **完整文档导航**：[文档中心](./docs/README.md)\n\n---\n\n## 🆚 与其他 SDK 的对比\n\n| 特性 | 传统 SDK | WES SDK |\n|------|---------|---------|\n| **API 设计** | 底层原语（TxAddInput 等） | 业务语义（Transfer、Stake 等） |\n| **业务语义** | 需要手动组合 | SDK 层自动处理 |\n| **复杂业务** | 难以实现长事务 | 支持原子性长事务 |\n| **类型安全** | 部分支持 | 完整类型系统（TypeScript） |\n| **学习曲线** | 需要了解底层协议 | 直观的业务接口 |\n\n### Go SDK vs JS SDK\n\n| 维度 | Go SDK | JS SDK |\n|------|--------|--------|\n| **语言** | Go | JavaScript/TypeScript |\n| **环境** | 服务器/CLI | 浏览器/Node.js |\n| **业务语义** | ✅ 一致 | ✅ 一致 |\n| **传输协议** | HTTP/gRPC/WebSocket | HTTP/WebSocket |\n| **类型系统** | Go 类型系统 | TypeScript 类型系统 |\n\n\u003e 📖 **能力对比**：详见 [应用场景分析](./docs/APPLICATION_SCENARIOS_ANALYSIS.md)\n\n---\n\n## 🤝 贡献指南\n\n我们欢迎社区贡献！查看 [贡献指南](../CONTRIBUTING.md) 了解详情。\n\n```bash\n# 设置开发环境\nnpm install\nnpm run build\n\n# 运行测试\nnpm test\n\n# 提交变更\ngit commit -S -m \"feat: your contribution\"\ngit push origin your-branch\n```\n\n---\n\n## 📄 许可证\n\n本项目基于 Apache-2.0 许可证开源 - 详见 [LICENSE](../LICENSE) 文件。\n\n---\n\n## 🔗 相关链接\n\n### WES 平台资源\n\n- [WES 主项目](https://github.com/weisyn/weisyn) - WES 区块链主仓库\n- [WES 文档中心](../../../weisyn.git/docs/) - 完整技术文档\n- [WES 系统架构](../../../weisyn.git/docs/system/architecture/) - 系统架构详解\n- [WES 主 README](../../../weisyn.git/README.md) - WES 项目总览\n\n### SDK 相关资源\n\n- [Contract SDK Go](../../contract-sdk-go.git/README.md) - Go 合约 SDK\n- [Contract SDK JS](../../contract-sdk-js.git/README.md) - TypeScript 合约 SDK\n- [Client SDK Go](../../client-sdk-go.git/README.md) - Go 客户端 SDK\n- [Model Workbench](../../workbench/model-workbench.git/README.md) - 模型工作台\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### 让区块链应用开发回归业务本质\n\n[立即开始](#-快速开始) • [查看文档](./docs/README.md) • [API 参考](./docs/API_REFERENCE.md)\n\nMade with ❤️ by the WES Team\n\n\u003c/div\u003e\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweisyn%2Fclient-sdk-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweisyn%2Fclient-sdk-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweisyn%2Fclient-sdk-js/lists"}