文章
问答
讲堂
专栏
集市
更多
提问
发表文章
文档
招聘
发现
Toggle navigation
首页
(current)
文章
问答
讲堂
专栏
招聘
文档
集市
搜索
登录
注册
个人账户调用智能合约中的那些写入类型的函数怎么才能拿到函数的返回值呢?
智能合约
solidity 编程
web3.py
ethers.js
只知道如果是调用那种read类型的,不管是用web3还是ethers那个库,直接打印函数返回结果就行了,但是如果是写入操作的话,返回的是一个交易信息,那怎么才能获取到函数返回值呢?
只知道如果是调用那种read类型的,不管是用web3还是ethers那个库,直接打印函数返回结果就行了,但是如果是写入操作的话,返回的是一个交易信息,那怎么才能获取到函数返回值呢?
0 条评论
分类:
以太坊
请先
登录
后评论
默认排序
时间排序
2 个回答
不爱你ZC
2022-05-18 15:31
我有用过的方法: 调用eth_getTransactionReceipt 拿到交易详情 再调用eth_call把交易信息提交到节点上 就会拿到函数返回值 golang的话可以试下下面的代码 ``` func GetMessage(hash common.Hash) (string, error) { tx, _, err := eth.Client.TransactionByHash(context.Background(), hash) if err != nil { return "", err } from, err := types.Sender(types.NewEIP155Signer(tx.ChainId()), tx) if err != nil { return "", err } msg := ethereum.CallMsg{ From: from, To: tx.To(), Gas: tx.Gas(), GasPrice: tx.GasPrice(), Value: tx.Value(), Data: tx.Data(), } res, err := eth.Client.CallContract(context.Background(), msg, nil) if err != nil { return "", err } return string(res), nil } ```
请先
登录
后评论
李宗荣
2022-05-19 17:22
emit event?
请先
登录
后评论
您需要登录后才可以回答问题,
登录
或者
注册
关注
2
关注
收藏
0
收藏,
333
浏览
996633
提出于 2022-05-18 13:36
相似问题
BSC链防夹子问题,chi gastoken
2 回答
justlend(compound fork)如何查看token的collateral factor
0 回答
怎么高效的测试智能合约
1 回答
转账到一个从未见过的地址额外花费 25,000个GAS 的疑问
1 回答
ethers中如何获得某一个地址的在一定时间的所有转账事件
3 回答
Web3.py 如何模拟交易(不上链,知道交易是否能成功) 判断交易是否成功
1 回答
×
发送私信
发给:
内容:
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因: