
🧱 背景介绍
在开发区块链程序时,由于状态是不可变的,调试合约运行过程并不像普通应用那样可以轻松使用断点调试。因此,日志输出(Log) 成为了开发过程中不可或缺的工具。
尤其是在学习和使用 Reach 的过程中,合约代码是用 RSH(Reach 编译语言)编写的,而部署与交互逻辑则是通过 JS 或 MJS 实现的,如何在这两个层面输出调试信息? 是新手常遇到的问题。
🛠 使用日志的两种场景
我们将从两个角度分别介绍如何插入日志打印语句:
- 合约后端(RSH 文件)
- 部署脚本前端(JS 或 MJS 文件)
🧩 一、RSH 文件中输出日志
在 RSH 中,只需加入标准库提供的 hasConsoleLogger,就可以直接调用 .interact.log() 方法输出你希望追踪的变量内容。
✅ 示例代码:
'reach 0.1';
'use strict';
export const main = Reach.App(() => {
const A = Participant('Alice', {
...hasConsoleLogger, // 开启日志输出功能
});
deploy(

本文介绍了如何在后端RSH文件和前端JS文件中通过插入Log语句来监控区块链程序和JavaScript应用的运行过程。在RSH文件中,展示了如何为参与者Alice添加日志输出,并记录不同类型的变量变化。而在JS文件中,演示了如何在测试环境中部署并启用日志功能。这种方法对于理解和调试智能合约的执行非常有用。
&spm=1001.2101.3001.5002&articleId=120194356&d=1&t=3&u=0ff5ff12599b4fdea4adc7b65b78bca1)
158

被折叠的 条评论
为什么被折叠?



