You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用erdJs正确获取Elrond链智能合约的执行结果?

解决方案

这不是erdJs的bug,属于方法调用错误:

  1. 你使用的getTransaction方法仅返回交易基础元数据,默认不会拉取关联的智能合约执行结果,部分版本的erdJs中第三个withResults参数对该接口不生效。
  2. 不需要额外传入交易发起方地址作为参数,仅通过交易哈希即可拉取全量交易关联数据。

你可以改用getTransactionOnNetwork方法获取完整的链上交易数据,参考代码如下:

// 注意原erdjs包已重命名为@multiversx/sdk-core,旧版erdjs可沿用原有导入逻辑
const txHash = new TransactionHash("290498e8730975ea6d2703f4c5e0dc2c657b9480b9afc2a62c4c8818636cf062");
const txOnNetwork = await this.provider.getTransactionOnNetwork(txHash);
const scResults = txOnNetwork.getSmartContractResults();
// 输出所有智能合约返回项
console.log(scResults.items);

执行后你就能在返回结果中找到需要的@ok@4153442d383661353439执行结果,十六进制解码后即可得到本次创建的NFT集合标识符ASD-86a549。

内容的提问来源于stack exchange,提问作者Razvan M.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:36:01