首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tronweb :如何使用tronweb合同发送函数获取返回值

tronweb :如何使用tronweb合同发送函数获取返回值
EN

Stack Overflow用户
提问于 2022-02-04 17:57:49
回答 1查看 487关注 0票数 0
代码语言:javascript
复制
let contract = await window.tronWeb.contract().at(config.contract);
let result = await contract.methods.depositTron()
 .send({callValue:amount*1000000})
 .then(output=>transaction = output);
console.log("result", result);

我试图获得depositTron方法的结果,但返回了哈希值。我该怎么办?请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2022-02-05 09:28:19

事务调用的函数只返回EVM中的值(通常是从另一个契约调用时)。

send() JS函数返回的哈希是事务哈希。

您可以通过在契约中发出事件日志来解决此问题。然后,您可以从事务收据(在挖掘事务之后在JS中发出)获取值或读取发出的日志。

稳固性:

代码语言:javascript
复制
contract MyContract {
    event Deposit(uint256 indexed amount);

    function depositTron() external payable {
        emit Deposit(msg.value);
    }
}

联署材料:

代码语言:javascript
复制
contract.methods.depositTron().send({callValue:amount*1000000})
.on('receipt', (receipt) => {
    console.log(receipt.logs);
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70990838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档