gpt4 book ai didi

debugging - 有没有办法在 RSK 网络中调试交易,这可能是最好的方法?

转载 作者:行者123 更新时间:2023-12-03 14:21:05 31 4
gpt4 key购买 nike

我们正在运行一个 RSK 节点,一些智能合约交易显示内部错误,但与失败相关的消息 require这些错误消息中没有出现条件...
我们只看到“内部错误”,无法查看发生了哪个特定错误。

最佳答案

如果您的合约在回复中发出消息,那么您可以使用 debug_traceTransaction 找到它们.
注意: debug RPC 模块在 RSK 配置中默认启用,但在公共(public)节点上禁用。
此外,RSK 公共(public)节点不公开此功能,您必须运行自己的节点才能这样做。
以下假设您有一个本地节点运行在端口 4444 上公开的 RPC。 .
首先,您需要启用debug配置文件中的模块:

modules = [
...
{
"name": "debug",
"version": "1.0",
"enabled": "true",
},
...
]
然后,您可以执行 RPC 方法传递
交易 ID 作为参数,如下例所示:
curl \
-X POST \
-H "Content-Type:application/json" \
--data '{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0xa9ae08f01437e32973649cc13f6db44e3ef370cbcd38a6ed69806bd6ea385e49"],"id":1}' \
http://localhost:4444
您将收到以下回复
(为简洁起见截断):
{
...
"result": "08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e536166654d6174683a207375627472616374696f6e206f766572666c6f770000",
"error": "",
"reverted": true,
...
}
最后转换 result从十六进制到 ASCII,
获取可读消息:
Ãy  SafeMath: subtraction overflow

关于debugging - 有没有办法在 RSK 网络中调试交易,这可能是最好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66144175/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com