企业培训资讯_企业培训干货

当前位置:首页 > 新闻中心

2021欧洲杯买球网站_和你说说调试 CKB 脚本的几个技巧

发布时间:2021-04-19    来源:2021欧洲杯买球网站27816

本文摘要:CKB 中的脚本不一定只是我们在脚本语言中看见的脚本,例如 Ruby,JS,它实质上是所指在 CKB VM 上运营的 RISC-V 格式二进制文件。

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 之间)来回应错误。

例如,配置文件的 lock script error code:secp256k1 error codeshttps://github.com/nervosnetwork/ckb-system-scripts/wiki/Error-codes留意:少见的错误是误解了lock script 错误和 type script 错误。非常简单的调试方法是移除 type script,然后新的运营;如果错误依然不存在,可以确认错误是由 lock script 引发的;否则,它是由 type script 引发的。调试 syscall当我们想从脚本中输入额外的信息时,使用 debug syscall 来已完成此市场需求。配置文件情况下,CKB节点不输入调试 syscall 消息,网卓新闻网,可以配备 ckb.toml 来落成它。

[logger]filter = info,ckb-script=debug还可以自由选择在调试环境下运营脚本:ckb-cli, VM debugger, ckb-contract-tool。对于语言 / 工具链构建人员,如果研发语言反对,建议您构建 debug syscall 来打印机错误向后跟踪。例如:如果将 Rust 与 ckb-contract-std 一起用于,您可以看见程序瓦解的方位。

2021欧洲杯买球网站

用 ckb-cli 分解 mock tx 和检验ckb-cli 反对在调试环境下分解仿真 tx 和检验,步骤如下:1. 分解 mock-tx 模板ckb-cli mock-tx template --lock-arg your lock-arg --output-file debug-tx.json2. 改动模板将你的 script cell 加到到 cell_deps 中,并改动交易结构以用于 lock script 或 type script。3. 构建模板ckb-cli mock-tx complete --tx-file debug-tx.json此命令根据 lock arg 用于私钥亲笔签名交易。

4. 检验交易ckb-cli mock-tx verify --tx-file debug-tx.json你将看见检验结果和调试输入。另外关于如何建构交易可参照 RFC:CKB 的交易结构用于 VM debugger 和 GDB1. Install ckb-standalone-debugger 加装 ckb-standalone-debuggergit clone https://github.com/nervosnetwork/ckb-standalone-debuggercd ckb-standalone-debugger/binscargo build --release2. Start standalone debugger 启动 ckb-standalone-debuggerckb-standalone-debugger 反对 ckb-cli 分解的模板。

要调试一个脚本,我们用 -g script type 来指代 script group 类型,这回应我们想调试哪个 script group,用于提到的 -h script hash。ckb-debugger -l 0.0.0.0:2000 -g type -h type script hash -t debug-tx.json3. 启动 GDBdocker run --rm -it -v pwd:/code nervos/ckb-riscv-gnu-toolchain:bionic-20191012 bash# start gdbriscv64-unknown-elf-gdb path of script binary# connect to debugger servertarget remote ip:2000若想理解更加多,请求参照 CKB 开发者 Xuejie 的文章:CKB 脚本编程概述第一弹头: 检验模型关于递交 bug当您在脚本中找到与安全性涉及的 bug 时,请求不要将其公布在 github public issue。请求在 ckb dev telegram(https://t.me/nervos_ckb_dev) 联系确保人员,这不仅有助确保人员改版,也可以避免用户损失资金。

当您在 CKB 官方 script 或 CKB VM 中找到与安全性涉及的 bug 时,青睐重新加入我们的 bug bounty program,我们不会为您的宝贵贡献获取可观奖励!。


本文关键词:2021欧洲杯买球网站,2021欧洲杯买球app

本文来源:2021欧洲杯买球网站-www.coffee-koo.com

分享到:
相关推荐MORE+
05-10 12部门:不得以任何形式对民企参与交通基础设施建设运营设置限制性门槛_2021欧洲杯买球网站

本文摘要:北京市7月8日电(新闻记者安蓓)新闻记者8日掌握到,我国发展改革委等12个单位前不久颁布建议,支持民营企业参与交通出行基础设施建设发展趋势,注重不可以一切方式对民营企业参与交通出行基础设施建

05-10 府东社区:迎国卫复检,社工、党员共治家园:2021欧洲杯买球网站

本文摘要:最近,为了庆祝国家卫生城市的复查,府东社区在市城管局、新安江派出所、新安江街等有关部门和社区党员自愿者的反对下,对所属管辖区进行了全面的公共卫生整备。最近,为了庆祝国家卫生城市的复查,府东社

05-10 2021欧洲杯买球网站:盘点人工智能在实体零售8个典型应用场景

本文摘要:“智慧零售”的浪潮下,一些实体线零售企业早就在特殊情景下将人力智能整合入自身的业务流程,搭建了智能化升級和转型,并借此机会发掘更新的市场销售机遇。“智慧零售”的浪潮下,一些实体线零售企业早就

05-10 创鑫激光“器件先行”:转战超高功率 几时功成?-2021欧洲杯买球app

本文摘要:写文章|夏一哲编辑|常亮轻舟已经过万重山,中国激光厂商蓬勃发展,部分挤压行业领先,有数与进口产品断腕的能力。写文章|夏一哲编辑|常亮轻舟已经过万重山,中国激光厂商蓬勃发展,部分挤压行业领先,

【2021欧洲杯买球网站】三八特刊——尽职尽责的“金管家” 北师大教育集团“防患于未然”  全民线上安全教育主题活动启动
热门文章
12部门:不得以任何形式对民企参与交通基础设施建设运营设置限制性门槛_2021欧洲杯买球网站
府东社区:迎国卫复检,社工、党员共治家园:2021欧洲杯买球网站
2021欧洲杯买球网站:盘点人工智能在实体零售8个典型应用场景
创鑫激光“器件先行”:转战超高功率 几时功成?-2021欧洲杯买球app
斯内德:如果C罗还在皇马,阿贾克斯晋级的希望要小很多-2021欧洲杯买球网站
C罗:永远爱皇马和皇马球迷们,经常看塞图巴尔队的比赛
2021欧洲杯买球app_欧联杯-切尔西1-0布拉格斯拉维亚 阿隆索打进全场唯一进球
Hebe将空降《青春有你2》与陈嘉桦Ella合体?一波回忆杀来袭-2021欧洲杯买球app
政府采购推广使用绿色包装商品包装空隙率不大于40%:2021欧洲杯买球app
2021欧洲杯买球网站_夫妻因琐事斗气 丈夫将36天女婴扔出8米外摔地致死
罗桐社区:爱心在社区涌动|2021欧洲杯买球网站
2021欧洲杯买球网站-BSV暴涨背后不为人知的秘密
2021欧洲杯买球app:AI新技术如何助力产业创新升级?答案在“新技术·新动能”创新者论坛
克洛普谈抽签:这将是一场硬仗,非常期待与拜仁的对决|2021欧洲杯买球app
欧冠杯: 尤文图斯 狂胜马德里竞技 终场比分3:0_2021欧洲杯买球网站
客户案例
×