共计 1942 个字符,预计需要花费 5 分钟才能阅读完成。
昨天,学姐在 Nervos 直播间进行了为时三小时的首场 Live Coding,在直播中,学姐现场实现了 Open Transaction,也响应了大家的要求,女装出镜。
???
学姐放话说,如果反响好,那么以后会持续地做系列直播,如果反响不好的话……那么这一次是第一次,也是最后一次给大家做 Live Streaming 了。(大家且行且珍惜,别忘了在评论区留言来点反响呀!)
本次的 Live Streaming 足足持续了三个小时,这也让我们不得不 感叹学姐的体力和脑力,相信我,这一定不是常人之所及。至于到底有没有翻车呢?让我们先来看一下视频回顾?
腾讯视频:https://v.qq.com/x/page/v0976…
在日常的工作中,学姐常常需要把 OTX 实现出来。本着不要所有的合约都自己做,给大家留点机会的原则,学姐在这个 Proposal 出来之后,等了一段时间。但是,这个 Proposal 自从三月份出来之后,一直也没有人做出来。现在学姐又急迫地需要这个合约,所以还是不得已自己开始动起了手。
虽然我们现在的合约开发已经有很多流程和套路可以走,有很多调试工具可以用,但是这些工具大家实际用的并不频繁。我们常常会听到有人说:「我又调了一晚上,我又卡在那边调不出来了。」等等这些状况。但实际上有些情况可能并不是这么的复杂,只要换一个方法就可以平滑地实现。
所以,在这次的直播过程中,学姐为我们分别详细地讲解了下面四个内容:
- Open Transaction 概念
- 交易架构
- 构建 & 调试 CKB 脚本
- 一些有用的建议
整个直播学姐为大家展示了如何更好地写合约,学姐说,写 CKB 合约最重要的一点,是首先要搞清楚合约的架构:
- 你的 transaction 是什么样子的?
- 你的合约接受什么样的 transaction?
- 什么样的 transaction 又会被你的合约拒绝?
如果你有这样一套足够完善的数据集之后,那么在实际写合约的过程就会变得简单很多。因为当你已经有了足够的测试之后,就可以进行更便捷的开发。
你可以写代码来验证一些 transaction,再用各种各样的工具来帮助你调试这些合约,甚至可以写一些 log message 来展示合约里用到的数据,并调试合约。这样一来合约的开发会越来越快。
一些实用的工具
Xuejie 全程分享了超多有用的开发工具和资料:
?standlone-debugger:你是不是每次测试合约都需要运行一条 CKB 链?大可不必!来试试 standlone-debugger,不用运行 CKB 链,直接测试合约,支持 debug,printf,可查看合约 cycle 运行数量和完整的合约运行路径等等:
https://github.com/xxuejie/ck…
?Perkins’ tent:通过一个 docker 镜像包直接创建一个 CKB 服务器,不仅包含了 ckb 还包含了 graphql-server,一个更强大的 ckb-indexer,流控功能等等:
https://github.com/xxuejie/pe…
?Felix:这是一个基于 Lumos 实现的在 telegram 内发红包的 DApp,Lumos 是一个基于 JavaScript / TypeScript 的 dApp 开发框架,这样广大的开发者们就可以通过 JS/TS 快速地开发基于 CKB 生态的 dApp 了。Felix 后面将基于它开发更多新的功能:
https://github.com/xxuejie/felix
我们希望尽可能地通过这些工具来帮助大家简化调试的过程,如果大家从这次的 streaming 里能够掌握一些调试的技巧,帮助大家减少一些合约开发的时间,那么这次的 Live Coding 就达到目的了。
小 花 絮
燃场插曲
在为时三小时的 Live Streaming 过程中,学姐在每隔一小时的间隙里,为大家播放了燃场的歌曲:回忆杀 新世纪福音战士主题曲《残酷な天使のテーゼ》,和 我的三体之章北海传片尾曲《夜航星》,又一次把我们带入了程序员的二次元文化,以及 Nervos 的取名渊源(此处省略 1000 字)。
年少无知选择了 EMACS
有人说看到学姐在用 EMACS,却不知那是他年少无知时选择的编辑器,现在只不过是肌肉记忆。学姐一直在尝试淘汰它,但是一直没有成功。目前学姐正在写自己的编辑器,预计不久的将来会切换到自己的编辑器上。
后 记
因为一些众所周知的原因,昨晚直播的弹幕功能和我们擦身而过,这可能是直播过程中 最大的「翻车」。Anyway,如果大家在写合约的过程中遇到了什么问题,或者有什么新的想法需要交流,都 欢迎大家留言或者来我们的论坛告诉我们,学姐和 CKB 团队定会知无不言言无不尽。
?talk.nervos.org?
最后,衷心的希望大家无论是合约开发的流程,还是 dApp 开发的流程都能 越来越平滑,在 CKB 上惊艳四座!