如何在 Playground 中调试 HyperLedger Composer 交易代码

How to debug HyperLedger Composer Transaction code in Playground

我在 MacOS 上使用本地安装的 Playground。

我成功创建了我的业务网络,将我的模型文件和逻辑添加到该网络并创建了资产和参与者实例。

现在我已准备好提交我的第一笔交易,但由于我的请求,我在弹出窗口中收到一条错误消息 window。消息本身不是问题(它与一些未定义的资产有关),我的问题是我想通过使用老式 printf 或日志消息生成一些执行跟踪来调试此事务代码。

我试图在我的事务代码中插入 console.log(message) 指令,但最终我无法检索这些日志跟踪(例如,使用像 docker logs -f composer 这样的命令)。

还有其他方法可以生成日志跟踪吗?或者我是否错过了配置设置以过滤 docker 日志中的日志?

非常感谢任何帮助!

奥利维尔

关于控制台日志记录(并在浏览器开发人员控制台中看到它们),请在此处查看 Stack Overflow (hyperledger composer playground) Can you see results of console.log('something') in browser?(它还有一个 link 以获取更多信息

请参阅此处 https://hyperledger.github.io/composer/latest/problems/diagnostics.html 以了解有关日志记录/调试日志的更多信息。

至于设置checkpoint/breakpoints:这些由编辑器工具设置在H/Composer中,您可以只使用嵌入式连接器(例如TP函数)来尝试/单步执行每个断点- 有关 VSCode -> https://code.visualstudio.com/docs/editor/debugging and Atom -> 的更多信息,我将 link 发布到上面的 diagnostics/logging。

我用调试消息插入断点的一种快速方法是在事务方法中使用 throw new Error(...) 抛出异常。

这也出现在 playground 界面中。