和你说说调试 CKB 脚本的几个技巧【亚博网app】

和你说说调试 CKB 脚本的几个技巧【亚博网app】

亚博网站APP

亚博网站APP-CKB中的脚本不一定是指脚本语言中看到的脚本(Ruby、JS等),而是指实质上在CKB VM上运行的RISC-V格式的二进制文件。 CKB VM模拟RISC-V指令集与其他VM的opcode软件编码功能十分不同。 考虑到CKB VM的标准化特性,每个编程语言和工具链都有一些不同。

本章介绍了CKB开发人员jjy调试CKB脚本的一些技巧,让我们仔细研究一下。 注意: CKB的编程模式现在非常顺利,但现在开发也在进行中,所以可能会发生变化。

错误代码CKB节点只在交易验证结束时报告exit code,区分错误的最必要的方法是在不同的exit code(-127和127之间)上响应错误。 例如,配置文件lockscripterrorcode:secp 256 k1 error codes 3359 github.com/nervos network/CK B- system-scripts/wikk非常简单的调试方法是如果错误依然不存在,可以确认错误是由lock script引起的。

否则,是由type script引起的。 如果从调试syscall脚本输入附加信息,请使用debug syscall满足这个市场需求。 对于配置文件,CKB节点不输入调试syscall消息,网桌新闻网络可以装备ckb.toml来完成。

[logger]filter=info,ckb-script=debug可以自由选择调试环境下的运用脚本: ckb-cli、VM debugger、ckb-contract-tool。 对于语言/工具链构建者,如果开发语言相反,建议构建调试系统以向后跟踪打印机错误。 例如,将Rust与ckb-contract-std一起使用时,可以看到程序崩溃的方向。 用ckb-cli分解mock tx和验证ckb-cli反对分解调试环境下的模拟tx和验证,步骤是, 分解mock-tx模板CK B- CLI mock-tx模板–lock-argyourlock-arg– output-file debug-tx3.模板CK B- CLI mock-txcomplete–。

4 .可以看到检查交易CK B- CLI mock-tx verify– tx-file debug-tx.JSON检查结果和调试输入。 此外,关于交易的构筑,参照RFC:CKB的交易结构,在VM debugger和GDB1. Install CKB-standalone-Debuggergitclone 3359 Githue上要调试ck B- standalone-debuggercdckb-standalone-debugger/binscargobuild– release2. startstandalonedebugger启动CK脚本,请使用- GSS 这适用于-h script hash,具体取决于您想调试哪个script group。 启动CK B- debugger-l0.0.0. 033602000-gtype-htypescripthash-t debug-tx.JSON3. GDBDOCKerrun。 CK B-GNU-Toolchain 3360 Bionic-2019 10 12 Bash # 如果想进一步理解startgdbriscv 64-unknown-elf-gdbpathofscriptbinarry connecttodebuggerservertargetremoteip :2000, 参见CKB开发者Xuejie的文章: CKB脚本编程概要关于第一弹头3360检查模型分发错误在脚本中发现与安全性相关的错误时,请不要向githuue公开。

使用ckbdevtelegram (https://t.me/nervos _ ckb _ dev )联系人员确保不仅有助于人员的改版,而且有助于避免用户失去资金。 在CKB官方脚本或CKB VM中发现与安全相关的bug时,我们喜欢再次参加我们的bug波恩蒂计划,我们不会给你宝贵的贡献很大的报酬!。

本文来源:亚博官网app-www.jishikong.com

相关文章

评论已关闭。

网站地图xml地图