MultiversXSDK-JS核心操作技能Skill:把 MultiversX 链上开发的核心 SDK 知识装进 AI 助手
- 一句话定位:这是一份围绕
@multiversx/sdk-corev15 库「入口点 → 网络提供者 → 交易生命周期」的知识型技能,让 AI 助手在写 MultiversX 链上代码时,直接给出符合官方结构的可运行片段,而不是靠猜。 - 覆盖范围清晰:Devnet / Testnet / Mainnet / Localnet 四类入口点、
ApiNetworkProvider与ProxyNetworkProvider两种网络提供者、以及从创建交易到等待完成的完整生命周期。 - 直接产出代码:技能内容以 TypeScript 示例 + 方法速查表的形式组织,AI 调用时可复用其中的 API 名称、参数结构与最佳实践。
- 适合谁用:DApp 前端与脚本开发者、链上运维/批量任务工程师、智能合约联调与测试人员、刚开始接触 MultiversX 生态的新人。
- 关键提醒:涉及安装命令、平台入口、计费方式等具体信息,请以官方说明为准;本文只基于技能详情描述功能与用法。
1. 该技能叫什么?如何一键安装 AI 技能提升开发效率?
基本信息
| 项目 | 内容 |
|---|---|
| 技能中文名 | MultiversXSDK-JS核心操作技能Skill |
| 技能英文名 | mvx_sdk_js_core |
| 技能ID | 12563 |
| 技能主题 | MultiversX TypeScript/JavaScript 核心 SDK 操作——入口点、网络提供者和交易 |
它解决什么问题?
MultiversX 的 @multiversx/sdk-core v15 是一个典型的「API 面广、细节多」的库:光入口点就有四个网络版本,每个入口点又挂着 createAccount()、recallAccountNonce()、sendTransaction()、awaitCompletedTransaction() 等一长串方法;底层网络提供者还分 ApiNetworkProvider 与 ProxyNetworkProvider 两种用法。开发者在实际写代码时,最常卡住的不是「不会写 JS」,而是:方法名记不精确、参数结构记混、随机数(nonce)忘了同步、交易发出去不知道该怎么等结果。
这个技能做的事情,就是把这套基础构建块整理成结构化的知识,交给 AI 助手直接消化。于是你在对话里描述需求(“帮我写一段在开发网上转账并等待上链结果”),AI 就能按技能里的入口点、控制器、交易生命周期来组织代码,而不是自由发挥。
「一键安装」的思路与步骤
需要说明的是,AI 技能的本质是「给助手挂载一份可信知识包」,所以安装过程通常很轻量,不涉及复杂的本地部署。通用流程如下(具体命令、入口名称以官方说明为准):
- 确认前提:你使用的 AI 客户端或开发工具支持技能(Skill)机制;若要在本地实际运行生成的代码,还需要准备好 Node.js 环境与对应的 NFT/钱包资源(例如
.pem钱包文件)。 - 找到技能:在技能市场或技能目录中,通过技能英文名
mvx_sdk_js_core或技能 ID12563检索。 - 一键安装并启用:点击安装/启用按钮,将技能挂载到当前工作空间或会话中(部分平台支持按项目启用)。
- 验证是否生效:开启新会话,直接问一句——“MultiversX 有哪几个入口点?各自的默认 API 地址是什么?” 如果助手能准确列出
DevnetEntrypoint(https://devnet-api.multiversx.com)、TestnetEntrypoint(https://testnet-api.multiversx.com)、MainnetEntrypoint(https://api.multiversx.com)、LocalnetEntrypoint(http://localhost:7950),说明技能知识已经成功加载。 - 进一步验证:让它写一段「创建入口点 → 同步 nonce → 构造转账交易 → 发送 → 等待完成」的代码,观察是否用到
createTransfersController()、getNonceThenIncrement()、awaitCompletedTransaction()等技能中出现过的真实 API。
这个「装一次、长期受益」的模式,正是 AI 技能提升开发效率的核心逻辑:把反复查文档的时间,换成一次性的挂载成本。
2. 该技能的主要功能和特点
- 四网络入口点开箱即用:
DevnetEntrypoint、TestnetEntrypoint、MainnetEntrypoint、LocalnetEntrypoint分别对应开发网、测试网、主网和本地网,各自带默认 API 地址,省去手写 URL 的麻烦。 - 入口点支持三种配置方式:默认 API、自定义 API(传入
{ url: "https://custom-api.com" })、以及走网关的代理模式(传入kind: "proxy"指向devnet-gateway.multiversx.com这类网关地址)。 - 常用操作一键封装:入口点内置
createAccount()、createNetworkProvider()、recallAccountNonce(address)、sendTransaction(tx)、sendTransactions(txs)、getTransaction(txHash)、awaitCompletedTransaction(txHash),覆盖账户、广播、查询、等待四条主线。 - 两种网络提供者按场景选择:
ApiNetworkProvider用于标准 API 查询(技能明确标注为「推荐」),ProxyNetworkProvider用于通过网关与节点直接交互;同时支持clientName、requestsOptions.timeout等客户端配置。 - 提供者方法覆盖链上常用查询:
getNetworkConfig()、getNetworkStatus()、getBlock()、getAccount()、getAccountStorage()、getTransaction()、awaitTransactionCompletion()、queryContract()(VM 只读查询)。 - 内置交易生命周期范式:技能给出了「同步 nonce → 用控制器创建交易 → 发送拿哈希 → 等待完成并打印状态」的标准四步流程,避免新手写出「交易发了但不知道成功没有」的代码。
- 附带 5 条最佳实践:创建交易前必须同步随机数、关键操作用
awaitCompletedTransaction、网络调用要处理错误、长操作设置合理超时、可批量时用sendTransactions()。
和普通工具比强在哪? 与「搜索引擎 + 官方文档」相比,技能不是让你自己翻页找方法名,而是让 AI 在生成代码时天然遵守这套结构与命名;与「通用大模型裸聊」相比,技能把版本号锁在 v15 的语义上,显著降低「API 名字对但参数结构错」的幻觉风险。
3. 如何使用该技能?
下面按典型开发路径给出分步指南,示例均取自技能内容,可直接参考。
步骤 1:创建入口点,选择目标网络
import { DevnetEntrypoint } from "@multiversx/sdk-core";
// 默认 API
const entrypoint = new DevnetEntrypoint();
// 自定义 API
const entrypoint = new DevnetEntrypoint({ url: "https://custom-api.com" });
// 代理模式(网关)
const entrypoint = new DevnetEntrypoint({
url: "https://devnet-gateway.multiversx.com",
kind: "proxy"
});
输入:网络选择与可选的自定义地址;输出:一个可复用的入口点对象,后续所有操作都从它出发。
步骤 2:按需获取网络提供者
const provider = entrypoint.createNetworkProvider();
// 或手动实例化
import { ApiNetworkProvider } from "@multiversx/sdk-core";
const api = new ApiNetworkProvider("https://devnet-api.multiversx.com", {
clientName: "my-app",
requestsOptions: { timeout: 10000 }
});
需要查询链 ID、纪元、账户余额或做只读合约查询时,用 getNetworkConfig()、getNetworkStatus()、getAccount()、queryContract() 等方法即可。
步骤 3:同步账户随机数(nonce)
const account = await Account.newFromPem("wallet.pem");
account.nonce = await entrypoint.recallAccountNonce(account.address);
这是技能反复强调的第一步:创建交易前一定先从网络拉取当前 nonce,否则交易容易因 nonce 不匹配被拒。
步骤 4:通过控制器构造交易
const controller = entrypoint.createTransfersController();
const tx = await controller.createTransactionForTransfer(
account,
account.getNonceThenIncrement(),
{ receiver, nativeAmount: 1000000000000000000n }
);
步骤 5:广播并等待完成
const txHash = await entrypoint.sendTransaction(tx);
const result = await entrypoint.awaitCompletedTransaction(txHash);
console.log("状态:", result.status);
输出说明:sendTransaction() 返回交易哈希,awaitCompletedTransaction() 返回包含 status 的结果对象,用于判断交易是否真正上链成功。批量场景可改用 sendTransactions(txs) 一次性广播多笔。
步骤 6:把需求直接讲给 AI 助手
你可以这样提问:「用 mvx_sdk_js_core 的写法,在开发网上创建一笔转账交易并等待完成,要求先同步 nonce、带超时配置、异常要有处理。」助手会按技能里的入口点与生命周期组织代码,你再把生成结果贴进项目验证。
4. 同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| MultiversXSDK-JS核心操作技能Skill(mvx_sdk_js_core) | 面向 AI 助手的 MultiversX SDK 知识技能 | 入口点、网络提供者、交易生命周期、最佳实践 | 需支持技能机制的平台,一键挂载;以官方说明为准 | 让 AI 直接产出符合 v15 语义的链上代码 | 优势:结构清晰、版本对齐、方法名准确;不足:聚焦核心构建块,不含全部高级模块 |
| 官方 SDK 文档与仓库 README | 权威一手资料 | 全部 API 与示例 | 免费查阅,但需要自己检索与筛选 | 精确核对参数、查看变更记录 | 优势:最权威;不足:检索成本高,需要人工拼接成完整流程 |
| 通用大模型(未挂载技能) | 通用代码生成 | 能写 JS/TS,但链上 API 细节依赖训练记忆 | 无门槛 | 快速起草骨架代码 | 优势:随时可用;不足:方法名与参数结构易出现幻觉,版本漂移风险高 |
| 自建提示词 / 本地代码片段库 | 团队自维护知识包 | 自定义规范与模板 | 需要人工整理与长期维护 | 有强内部规范的团队 | 优势:可完全定制;不足:维护成本高,更新滞后于 SDK 升级 |
从对比可以看出,本技能的差异化位置很明确:它既不像官方文档那样「全但重」,也不像裸模型那样「快但飘」,而是在二者之间提供一个「常用路径已固化、命名与结构可信」的中间层。
5. 该技能的典型应用场景与实际体验情况
场景一:DApp 前端的链上交互开发者
痛点:要在多网络间切换(开发网调试、主网发布),每次改网络都要重配 API 地址和提供者类型。使用方式:让 AI 按技能给出 DevnetEntrypoint / MainnetEntrypoint 的切换写法,以及 ApiNetworkProvider 与代理模式的差异说明。实际体验:网络切换模板化程度高,改一行入口点即可;注意自定义 API 与代理模式(kind: "proxy")不能混用同一套路径。
场景二:链上批量任务脚本(转账、空投类批量操作)
痛点:多笔交易依次发送时容易卡在 nonce 管理与「发出去了但不知道成没成」。使用方式:请 AI 依据技能中的 sendTransactions(txs) 与 awaitCompletedTransaction(txHash) 组合出批量脚本,并在开头执行 recallAccountNonce() 同步。实际体验:生命周期四步非常顺;注意事项是要给长操作设置超时(requestsOptions.timeout),并对网络调用统一加错误处理。
场景三:智能合约联调与只读查询
痛点:想读合约存储或做 VM 只读查询,却记不清方法归属。使用方式:使用 getAccountStorage(address) 与 queryContract(query),先通过 getNetworkConfig() 确认链 ID 与气体设置。实际体验:方法定位速度快,配合 getBlock()、getTransaction() 排查问题很顺手;注意只读查询不产生交易,无需等待上链。
场景四:新人上手 MultiversX 生态 痛点:文档入口多、概念密,容易在「入口点」和「提供者」之间混淆。使用方式:把技能当作问答底座,连续追问四类入口点默认地址、两种提供者区别、交易四步流程。实际体验:上手难度低,概念层次被拉平;建议先跑通开发网一笔转账,再迁移到主网。
6. 该技能能为用户带来的价值
- 效率价值:把「查文档 → 找方法 → 拼流程」的三段式操作压缩成一次对话,尤其是入口点配置、nonce 同步、交易等待这几个高频环节,几乎可以从记忆中卸载。
- 门槛价值:对刚接触 MultiversX 的开发者,技能内置的「四步交易生命周期 + 5 条最佳实践」本身就是一条被验证过的上手路径,比在文档里自行摸索更快建立正确心智模型。
- 质量价值:版本锁定在
@multiversx/sdk-corev15,方法名、参数结构、控制器用法都有据可依,能显著减少「代码看起来对、跑起来报错」的返工。 - 长期价值:知识包可随 SDK 升级迭代复用,团队内的代码风格与调用习惯也能借助它对齐;一次挂载,长期服务于脚本、DApp、联调、教学等多种场景。
需要提醒的是,该技能提供的是核心构建块层面的知识,涉及费用、网络资源消耗等实际成本,请以 MultiversX 网络与官方文档的具体说明为准。
7. 常见问题 FAQ
Q1:这个技能怎么安装?需要本地部署 SDK 吗?
A:不需要本地部署。技能本质是一份挂载给 AI 助手的知识包,在支持技能机制的客户端或平台中,用英文名 mvx_sdk_js_core 或技能 ID 12563 检索后一键启用即可。若要在本地真正运行生成的 TypeScript 代码,则需要准备 Node.js 环境与 @multiversx/sdk-core 依赖。具体入口与命令以官方说明为准。
Q2:安装后怎么确认它真的生效了?
A:开一个新会话,问「MultiversX 的四个入口点及默认 API 地址分别是什么」。若回答能准确给出 DevnetEntrypoint、TestnetEntrypoint、MainnetEntrypoint、LocalnetEntrypoint 及其默认 URL,并能在后续追问中写出 recallAccountNonce()、awaitCompletedTransaction() 等真实方法,说明技能知识已加载。
Q3:这个技能收费吗? A:技能内容本身是一份 SDK 使用知识文档,是否收费取决于你所使用平台的计费策略,请以官方说明为准。它不包含任何内置的付费 API 额度或钱包资产。
Q4:它适合谁用?不适合谁? A:适合需要用 TypeScript/JavaScript 与 MultiversX 链交互的开发者,包括 DApp 前端、链上脚本、合约联调与教学场景。如果你要找的是完整的高级模块(例如更细分的合约模块与复杂场景封装),本技能只覆盖核心构建块层面,需要配合官方文档进一步查阅。
Q5:和直接用通用大模型写代码相比,差别在哪? A:通用模型容易出现「方法名像但不精确」的问题;本技能把入口点、提供者、生命周期、最佳实践固化成结构化知识,模型生成时更可能复用真实 API 与正确顺序(尤其是「先同步 nonce 再建交易」这条硬约束),从而减少调试成本。