[持续更新] CKB Weekly 合集

这个帖子将每周更新 NervosCommunity 公众号发布的 CKB Weekly。帖子正文只放每一期的超链接,具体内容将放在该帖子的回复中 :stuck_out_tongue_winking_eye:

1 Like

可组合性的 Open Transaction Lock Script 提案来喽|CKB Weekly #53

火花

1、可组合性的 Open Transaction Lock Script 提案

在上周来自北美的团队 Mutual Knowledge System 提出了一个基于 Open Transaction 的 Grants 后,本周 Nervos 核心开发者 Xuejie 也提出了一个关于 Open Transaction 的 Lock Script 提案,不一样的是这个 Lock 在 Open Transaction 中具有重新排序和重新安排签名组件的能力。

在本次的 RFC 中,Xuejie 也提供了 OpenTx 实现的数据结构,包含有哪一些的命令(Command)、哈希数组以及字段等内容,以及实际执行时 Lock Script 包含哪些元素,在整体的 Open Transaction 交易中又是如何呈现。这样的 Lock 具有的好处是,能够被 Open Transaction 的交易聚合者,尽可能地以最小的交易费用去拼装这些交易,以节省成本并且达到最佳的交易效率。

如果对于 Open Transaction 有兴趣的小伙伴,欢迎点击下方的帖子链接参与讨论,您的一小点参与很可能会让 Open Transaction 再往前迈一大步。

2、如果你想再靠近 DAS 一点,这里有他们的开放文档

DAS 测试网上线不到一周,目前已经有超过 11400 个注册账户,来自 3300 多个独立地址,这是一张小编认为很不错的成绩单。

同时,在这里我们也看到他们公开了许多技术文档,可以提供给有兴趣理解 DAS,以及理解如何在 CKB 上编程的小伙伴。这些文档已经包含了 DAS 的系统设计、数据结构、账户链方案以及防抢注机制,相信未来 DAS 团队还会持续更新这些文档。有需要的开发者、热爱技术的小伙伴可以进入下方的链接查看:



CKB

Layer 2

Godwoken [CKB 上的 Rollup 框架]

跨链

force-bridge[通用的 force bridge 组件]

(#117)支持观察者角色

(#121)修复 eth 处理程序 init setLastHandledBlock bug

(#118)修改跨链桥的 lockscript

(#116)增加配置 rpc

(#119)修正 eth & ckb 处理程序的 lastHandledBlockHeight 初始化问题

(#115)添加多签失败的服务器重试机制

(#113)对预提交的 hook 进行更严格的审查

(#114)修复(离线):在 RPC 中添加检查

(#111)集成 cli rpc api

CKB 浏览器

(#823)搜索后隐藏手机菜单

(#820)为交易输入添加索引

(#806)重构:只显示 sudt

生态系统

DAS [去中心化账户服务]

3 Likes

这次,又是哪些互联网设施被 Nervos 用上了呢?|CKB Weekly #54

火花

1、引入 Roughtime 的链外时间数据到 CKB 上可能吗?

由于链上的确定性这个本质,CKB 上的智能合约(脚本)没有办法获得当下区块高度的时间戳,这或许对一些需要有当下时间作为输入内容的交易产生了一些障碍,但这并不代表没有办法。

日前,Nervos 的核心架构师 Jan 提出了一个有趣的想法,那就是直接使用互联网上既有的时间校验服务 Roughtime。Roughtime 是一个由 Cloudflare 和 Google 提供的免费、低延迟的验证时间服务,通过 Nervos 灵活地兼容各种签名算法的特性,我们可以轻易地在链上支持 Roughtime 的签名算法 EdDSA 的验证。如此一来,我们就能够通过 Roughtime 作为 Witness,去验证任何人附在 data 或者 lock args 上的时间戳。

当然,这也还是一个比较早期的 Rough idea,开发者 Xuejie 也在此讨论到了如何激励大家来参与这个实时验证。欢迎有兴趣的小伙伴到这个帖子继续讨论:

2、Chained Lock:多种签名算法的验证一次搞定

Chained Lock 是一个由 Nervos 核心开发者 Xuejie 所提出的新点子,目的是透过 exec 这个 Linux 上的函数集来串联多个 lock,用来实现在串联的 Chained Lock 中就能够验证多种不同密码学的签名。

举个例子,今天可能有些锁是以 RSA 签名算法验证,有些则是 secp 256 r1 或者 BLS。以往,我们可能需要用多个 lock 才能够完成不同签名算法的验证,现在透过 Chained Lock 能够把这些验证都集中在一次的交互中完成。这么一来,任何 DApp 的 lock 都能够与签名验证的 lock 解耦,提供更大的便利性来支援更多重的签名验证。

如果想要了解更多或者参与讨论,欢迎查看下方的链接:



技术更新

CKB

Layer 2
Godwoken-polyjuice [为 Godwoken 兼容以太坊]

Godwoken [CKB 上的 Rollup 框架]

跨链

force-bridge[通用的 force bridge 组件]

CKB 浏览器

生态系统

ckb-nft-scripts [金色传说 & 秘宝 NFT]

2 Likes

在 Nervos 上遇见真正的 Metaverse|CKB Weekly #55

火花

​1、Nervos 为什么能够比以太坊有更大的弹性来设计 NFT ?

NFT 的概念最早起源于以太坊的 ERC 721,后来演绎到了 ERC 1155,同时其他链上也有各自的 NFT 。其中 Nervos 在基于 UTXO 编程模型下的 mNFT 协议可能会是一个很特别的存在,作者在本文中试着从 Nervos 和以太坊的底层公链设计出发,去探讨 NFT 在这两个公链上的设计边界,透过「如何自定义 NFT 分润」、「用 sUDT 代币交易 NFT 」、 「多个 NFT 合成特定 NFT 」等场景去讨论底层 NFT 协议的弹性,最后得出一个有趣的结论:Nervos 明显更偏向组合型,而以太坊则更偏向集成型。

也就是说,在以太坊上更偏向用一个协议尽可能地囊括所有的 NFT 设计协议的流程。相反的 Nervos 上则是能够让一个协议有最大的通用性,而 lock script 和 type script 既可以保留最小化的设计,让主要的逻辑交由某个代表规则的 Cell 去实现;也可以让 lock 和 type script 都展现最大程度的扩展性,例如在 lock/type script 指向的脚本中甚至还可以内嵌一个 JS/Lua 的虚拟机,实现定制化的智能合约脚本,并且带来更不可预期的发展边界。

原文:

2、要支持 sUDT 的充提币?这里有个不错的方案!

Nervos 的钱包如果要支持 sUDT 的转账,如果接收的地址是 anyone-can-pay 的短地址,可以使用 acp 方案,如果是原生的短地址,则能够使用 cheque 方案,但是这时候转账者就必须要有额外的 302 CKB 去创建 ACP cell 和 Cheque cell 。而 Mercury 是一个帮助中心化的平台的 sUDT 提供充提币接口,支持创建账户和构造转账,如此一来任何的中心化平台可以轻松地集成这个充提币方案。想了解更多请看下方原文。

原文:

CKB

  • (#2794) 为子命令 list-hashes 提供更好的错误信息

  • (#2792) 重构(硬分叉):更加严格地验证 epoch

  • (#2791) 重构:明确验证区块头中的 epoch

  • (#2790) ci:当 runner 没有足够的空间时,就会清理 cargo

  • (#2788) 自定义 opt-level 以避免重复建造

  • (#2789) ci:删除工作流程 remove-old-artifacts.yml

  • (#2779) 给每个全局运行时的线程一个唯一的 ID

Dev Tools

Godwoken-polyjuice [为 Godwoken 兼容以太坊]

  • (#45) 修复 creator_raw_args_seg_ptr 堆栈使用后的范围和错位的地址访问
  • (#44) creator_raw_args_seg_ptr stack-use-after-scope
  • (#46) 修复恢复账户预编译的合约
  • (#43) 上传 godwoken 和 godwoken-scripts
  • (#42) 修复错位的地址

跨链

force-bridge[通用的 force bridge 组件]

  • (#144) 修复:将名称标志改为符号,以修复 cli args 解析错误
  • (#142) 修复:增加分叉指标和删除服务器请求指标
  • (#143) 修复 cli args 解析错误
  • (#138) 增加了一个 keystore 模块
  • (#141) 修复 pubkeyToAddress 的 bug
  • (#136) 添加 bridge 费用索引器和 cli
  • (#137) 修复:为 ethHandler 和 ckbHandler 增加重试功能
  • (#139) 修复:更新服务器请求失败的处理程序
    生态系统

DAS [去中心化账户服务]

你的 CKB 开发者养成计划上线啦!|CKB Weekly #56

1、Developer Training Course :你的 CKB 开发者养成计划上线啦!

Nervos 是一个从底层开始就展现出许多创新的区块链,有许多令人惊奇之处,当然伴随着的是一场未知的冒险。
但是在这个时候,有个陪伴你走过这趟旅程的向导出现了,那就是「Developer Training Course」,这不只是一个网页,还是一场让 Nervos 开发者可以一同交流成长的运动,网站中的文档适合已经有区块链基础知识以及有基本编程能力的小伙伴。
本网站的内容还在持续地更新,整体而言会从如何发送、构造交易,以及怎么样在 Cell 中置入逻辑等和交易相关的内容开始,到进阶的脚本编程。

当然,小编在此要强调的是,这个机会和其中的教学内容、demo 都还在持续推进和迭代中,建议按照网站的编排依序阅读和参看各个单元的编程范例,除了参看内容之外,也欢迎大家加入 Nervos 的 Discord ,并且在 #developer-training-coursehttps://discord.gg/AqGTUE9) (https://discord.gg/AqGTUE9)) 的频道中和大家分享你遇到的任何问题,以及得到的任何反馈。
期待你的加入,让 Nervos 还有区块链世界变得更好。
Developer Training Course链接:
Welcome - Developer Training Course

2、逐渐看见 Polyjuice + Godwoken 的面貌:不只是 EVM 兼容层

Nervos 上的 Layer 2 Rollup + EVM 兼容层的方案是由 Godwoken(Rollup) + Polyjuice(账户模型兼容层)所组成。相比于其他链的 EVM 兼容层,笔者认为其中比较特别的地方是 Polyjuice 方案不止满足于兼容 EVM,同时还有更长远的考量,那就是准备兼容未来任何可能被广泛使用的区块链,例如 Facebook 的 Diem ;同时它并不只满足于让上面的 EVM dApp 只能使用以太坊钱包,而是目前既存的任意链的钱包,都能够成为用 Nervos Layer 2 dApp 的入口。

但是也因为这样的改动,因此需要设计另一种可以全面兼容多链的 Godwoken 地址,以及要提醒大家一些启动 Polyjuice 的注意事项,开发者 @JJY 写了此文,欢迎大家去参看以下网址:godwoken/known_caveats_of_polyjuice.md at master · nervosnetwork/godwoken · GitHub
同时也有中文版翻译可见于 Talk(https://talk.nervos.org/t/polyjuice/5936),谢谢社区小伙伴 @Panda 的贡献,也让我发现了这个注意事项的文档。

目前 Polyjuice+Godwoken 的实现已经逐渐地有一定的内容,也还在稳步进行中,欢迎敢于尝试的小伙伴可以一起参阅相关文档以及给予反馈,很高兴在 Talk 论坛上能看到讨论以及 Polyjuice 上部署的相关画面。

技术更新

CKB

Dev Tools

Godwoken-polyjuice [为 Godwoken 兼容以太坊]

CKB Explorer

Explorer

Layer 2

Godwoken[CKB 上的 Rollup 框架]

跨链

force-bridge[通用的 force bridge 组件]

1 Like

CKB Weekly #57 Unipass 会是 Nervos 连接上亿互联网用户的秘密武器吗?

火花

Unipass:让区块链 dApp 更滑顺的捕获海量的互联网用户

在还是「拨接联网」的时代,我们可能还很难去想象到今天的「5G 移动互联网」时代,因为光是「拨接」的体验以及取得联网装置的成本,以及性能等这些限制,就已经让许多人被排除在外,很多的爆品也是随着互联网的技术以及体验升级,才慢慢开启了互联网商务时代。现在的区块链也面临着类似的情况,性能以及体验等等面向 C 端的问题依旧存在,因此也较难展开大规模的落地,而 Unipass 很有可能是现在少数能够将互联网用户以滑顺的体验引入区块链的一个钱包,有了 Unipass ,在 dApp 的网页端,用户不需要再下载任何的钱包,不需要的任何的助记词,只需要通过邮箱的 DKIM 签名进行认证,就可直接让用户上手,甚至未来还会支持 WebAuthn 技术,让人脸识别、指纹解锁等互联网用户习惯的常规操作直接作为 Nervos 区块链产品的进入入口,本文中会去介绍 Lay2 的 Unipass 在技术以及架构上有什么突破以及吸睛之处,同时也会解谜为什么能够用 Mail 进行账户恢复,还有 NFT 红包是如何实现,有兴趣了解的朋友欢迎参考下方链接的这个帖子,也欢迎加入讨论。当然 Lay2 团队也还在迭代 Unipass 产品当中,一切以他们的进度为准哦~

[Image: image.png](CKB Weekly 火花专栏,随时欢迎你的火花)

技术更新

CKB (GitHub - nervosnetwork/ckb: The Nervos CKB is a public permissionless blockchain, and the layer 1 of Nervos network.)
(#2831 (chore: hardfork related trivial changes by yangby-cryptape · Pull Request #2831 · nervosnetwork/ckb · GitHub)) 与硬分叉有关的日常变化
(#2826 (doc: update RFC links by doitian · Pull Request #2826 · nervosnetwork/ckb · GitHub)) 更新 RFC 链接
(#2807 (chore(deps): bump faux from 0.1.2 to 0.1.3 by dependabot · Pull Request #2807 · nervosnetwork/ckb · GitHub)) 将 faux 从 0.1.2 升级到 0.1.3 版本
(#2823 (doc(rpc): fix enum variant parsing by doitian · Pull Request #2823 · nervosnetwork/ckb · GitHub)) 修复 enum 变体分析
(#2827 (fix: fix peer store evict by driftluo · Pull Request #2827 · nervosnetwork/ckb · GitHub)) 对存储节点信息数据库中的相关数据进行修改
(#2824 (chore(deps): bump governor from 0.3.1 to 0.3.2 by dependabot · Pull Request #2824 · nervosnetwork/ckb · GitHub)) 将治理者版本从 0.3.1 升级到 0.3.2
(#2825 (chore(deps): bump anyhow from 1.0.40 to 1.0.42 by dependabot · Pull Request #2825 · nervosnetwork/ckb · GitHub)) 将 anyhow 版本从1.0.40 升级到 1.0.42
(#2805 (chore(deps): bump proc-macro2 from 1.0.26 to 1.0.27 by dependabot · Pull Request #2805 · nervosnetwork/ckb · GitHub)) 将 proc-macro2 从 1.0.26 升级到 1.0.27
(#2808 (chore(deps): bump thiserror from 1.0.24 to 1.0.26 by dependabot · Pull Request #2808 · nervosnetwork/ckb · GitHub)) 将 thiserror 从1.0.24升级到1.0.26
(#2811 (chore(deps): bump syn from 1.0.72 to 1.0.73 by dependabot · Pull Request #2811 · nervosnetwork/ckb · GitHub)) 将 syn 从1.0.72 升级到 1.0.73
(#2812 (chore(deps): bump serde from 1.0.105 to 1.0.126 by dependabot · Pull Request #2812 · nervosnetwork/ckb · GitHub)) 将 Serde 从 1.0.105 升级到 1.0.12
(#2822 (https://github.com/nervosnetwork/ckb/pull/2822)) 配置文件的兼容性策略
(#2821 (https://github.com/nervosnetwork/ckb/pull/2821)) 将默认的 OutputsValidator 改为well_known_scripts_only。
(#2817 (https://github.com/nervosnetwork/ckb/pull/2817)) 将二进制版本添加到 BlockAssemblerConfig 消息中。
(#2802 (https://github.com/nervosnetwork/ckb/pull/2802)) 简化了几个结构功能和双 ckb 脚本测试
(#2818 (https://github.com/nervosnetwork/ckb/pull/2818)) 将字段 「hash_type 」改为枚举式类型
(#2819 (https://github.com/nervosnetwork/ckb/pull/2819)) 只在服务声明时发送通知
(#2813 (https://github.com/nervosnetwork/ckb/pull/2813)) 将 tokio 从 1.8.0 升级到 1.8.1

Dev Tools
Lumos (https://github.com/nervosnetwork/lumos) [JavaScript/TypeScript based dapp framework]
Polyjuice (https://github.com/nervosnetwork/polyjuice) [an Ethereum on CKB solution]
Godwoken-polyjuice (https://github.com/nervosnetwork/godwoken-polyjuice) [polyjuice for godwoken]
(#57 (https://github.com/nervosnetwork/godwoken-polyjuice/pull/57)) 允许调用不存在的账户地址
(#56 (https://github.com/nervosnetwork/godwoken-polyjuice/pull/56)) 增加回退功能测试案例
(#55 (https://github.com/nervosnetwork/godwoken-polyjuice/pull/55)) 转让给自己的 bug 在 Sudt 转让
Capsule (https://github.com/nervosnetwork/capsule) [development framework for creating smart contract scripts in Rust for CKB]
Tippy (https://github.com/nervosnetwork/tippy) [One click CKB devnet]
CKB-std (https://github.com/nervosnetwork/ckb-std) [modules to write CKB contract with Rust]
Neuron (https://github.com/nervosnetwork/neuron)
(#2041 (https://github.com/nervosnetwork/neuron/pull/2041)) Merge master into develop //将母版合并到开发版
CKB Explorer
frontend (https://github.com/nervosnetwork/ckb-explorer-frontend)
explorer (https://github.com/nervosnetwork/ckb-explorer)

Layer 2

Muta (https://github.com/nervosnetwork/muta) [Layer2 framework on CKB]
SECRET Labs (https://github.com/sec-bit/ckb-zkp) [Zero knowledge proof toolkit for CKB]
Godwoken (https://github.com/nervosnetwork/godwoken)[ [A framework to build rollup solutions upon Nervos CKB]
(#249 (https://github.com/nervosnetwork/godwoken/pull/249)) 修复了 query stake 中的错误。
(#250 (https://github.com/nervosnetwork/godwoken/pull/250)) 更新 syscalls 的错误代码
(#247 (https://github.com/nervosnetwork/godwoken/pull/247)) 修复错别字
(#245 (https://github.com/nervosnetwork/godwoken/pull/245)) 添加创建者-账户 cli
(#244 (https://github.com/nervosnetwork/godwoken/pull/244)) 重构工具
(#243 (https://github.com/nervosnetwork/godwoken/pull/243)) 添加传输客户端
(#238 (https://github.com/nervosnetwork/godwoken/pull/238)) 支持块参数
(#236 (https://github.com/nervosnetwork/godwoken/pull/236)) 整合挑战
(#241 (https://github.com/nervosnetwork/godwoken/pull/241)) Update log hex format //更新 hex 日志格式
(#242 (https://github.com/nervosnetwork/godwoken/pull/242)) SYS_LOAD_ACCOUNT_SCRIPT return not found if script_hash is zero //如果 script_hash 为零,SYS_LOAD_ACCOUNT_SCRIPT返回未发现
(#240 (https://github.com/nervosnetwork/godwoken/pull/240)) get_balance适应存款和提款的clipper
(#239 (https://github.com/nervosnetwork/godwoken/pull/239)) 将 evm 合约更新迁移到 polyjuice.md

Cross-chain

force-bridge (https://github.com/nervosnetwork/force-bridge) [general force bridge components]
(#162 (https://github.com/nervosnetwork/force-bridge/pull/162)) 增加错误日志指标值
(#159 (https://github.com/nervosnetwork/force-bridge/pull/159)) CKB 发生器
(#154 (https://github.com/nervosnetwork/force-bridge/pull/154)) 采集器和验证器的高活度
(#151 (https://github.com/nervosnetwork/force-bridge/pull/151)) 在 CI 中增加 eth 批量测试
(#156 (https://github.com/nervosnetwork/force-bridge/pull/156)) 重新使用服务器端口
(#153 (https://github.com/nervosnetwork/force-bridge/pull/153)) 在 ForceBridgeCore 中添加 secp256k1
(#155 (https://github.com/nervosnetwork/force-bridge/pull/155)) 增加 FAQ 和 Node.js 版本推荐
force-bridge-btc (https://github.com/nervosnetwork/force-bridge-btc) [maps BTC on Bitcoin to cBTC on CKB in a trustless way]
force-bridge-eth (https://github.com/nervosnetwork/force-bridge-eth) [maps ETH on Ethereum to cETH on CKB in a trustless way]

Ecosystem

Hxro (https://hxro.io/) [Gamified Crypto Trading Platform]
Tocial (https://tocial.io/?lang=zh) [cosplayers’ photo sharing app]
Lay2 (https://github.com/lay2dev/pw-lock) [pw-sdk, build dApp on CKB and run them everywhere]
Obsidian Labs (https://github.com/ObsidianLabs/CKB-Studio) [developer IDE]
Synapse (https://github.com/rebase-network/synapse-extension) [browser wallet and keyper agency]
BlockABC (https://github.com/BlockABC/one_chain_ckb) [onechain CKB and web auth]
GrowFi (https://github.com/bannplayer/UDTswap) [token swap functionality]
Obsidian Systems [ (https://github.com/obsidiansystems)[CKB integration with ledger wallets]
Summa One (https://github.com/summa-tx/bitcoin-spv)[BTC/CKB interoperability] (completed)
LeapDAO (https://github.com/leapdao/nervos) [Sidechain Framework]
Golden Legend (https://github.com/nervina-labs) [Nervos NFT platform]
DAS (https://github.com/DeAccountSystems) [Decentralized Account Systems]

小惊喜

由社区成员 Eric Tien 建造的 NervosProject 网站又有更新啦,可以去网站上浏览 Nervos 最新的生态进展哦!
也可以在文中留言你最期待下一次看到和哪个项目的合作呢?
http://nervosproject.com/cn/index.html

cool

DAS 成功上线背后的意义|CKB Weekly #58

火花

DAS 成功上线背后的意义 — 开启 Nervos 生态更多扩展的可能

DAS 于昨天(北京时间 7 月 22 日晚 20 点)成功上线了,不到 4 个小时的时间就已经涌入了 3000 个 DAS 链上账户的注册,除了令人感到惊喜之外,也超过了团队原先的预期。当然我们在这里重点是放在 DAS 成功上线后,我认为透过 DAS 我们可以看到两个重点:

1、DAS 提出的用 Keeper 机制避免 Cell 的竞争在实际操作上的确是可行的

这个点其实非常的关键,过去所有基于 UTXO 的 dApp,可能都无法处理大量用户同时进入的问题,因为单个代表合约的 UTXO 势必会被许多人同时竞争,这点在 DAS 透过 keeper 这个类似于 Cell 聚合器的方案上明显得到了解决,未来只要能有越多的人加入 Keeper 的行列,那么长期困扰所有 UTXO 的单一 UTXO 竞争的难题 ,不仅在 CKB 上可以得到解决,甚至还有机会为所有 UTXO 生态都带来新的思路。

对 Keeper机制有兴趣的小伙伴可以参考链接,这一系列的文章对 DAS 有兴趣的小伙伴都可以参考。

2、Portal Wallet 的直接用于其他 CKB dApp 的支付完全没问题

昨天如果有试过用 CKB 的小伙伴,会发现他是直接透过 Portal Wallet 进行付款,这时候我们可以发现不管是在移动端还是 PC 端,我们都可以直接呼叫出 Portal Wallet ,体验基本上与以太坊 dApp 使用 MetaMask 而言差距不大。这代表未来 Portal Wallet 可以适用于更多的 CKB dApp 场景,给 CKB 生态更多地赋能。

Portal Wallet 使用的示意图 1

Portal Wallet 使用的示意图 2

最后附上 DAS 上线之前创始人 Tim 写的一封信,我相信 DAS 未来会有更多关于去中心化身份相关的创新,也可能会有更多更亮眼的操作。

(CKB Weekly 火花专栏,随时欢迎你的火花)

CKB

  • (#2853) 静默记录

  • (#2855) 对「数据库被破坏出现混乱」的问题进行修复

  • (#2852) 将 tokio 从 1.8.1 升级到 1.8.2

  • (#2815) 将 derive_more 从 0.99.13 升级到 0.99.16

  • (#2850) 将回溯版本从 0.3.57 升级到 0.3.59

  • (#2848) 为 SendLargeCyclesTxToRelay 设置 retry_failed

  • (#2846) 随机拨号引导节点

  • (#2845) 添加测试使用的 rpc 计算_dao_field

  • (#2841) 删除冗余的 as_ref

  • (#2745) 日程表基准和主网同步

  • (#2836) 修改有歧义的描述

  • (#2833) 在警告信息中显示废弃字段的完整路径

  • (#2835) 主网和测试网的规范哈希值应该和以前一样

Dev Tools

Godwoken-polyjuice [为 Godwoken 兼容以太坊]

  • (#61) 移除 smt 仓库
  • (#60) 添加到预编译的智能合约中
  • (#59) 更新 evmone 以修复内存不足的错误
  • (#58) 当出现正常错误时不终止程序

Explorer

  • (#813) 将 addressable 从 2.6.0 版本升级到 2.8.0 版本

Layer 2

Godwoken[CKB 上的 Rollup 框架]

  • (#266) 取消可能出现双花的挑战
  • (#269) 将子模块 godwoken-scripts 重命名为 test-deps/ 以明确目的
  • (#267) 添加快速启动文档
  • (#268) 重构并为挑战块添加获取周期和转储 Tx
  • (#265) 改进 check_locks 中的信息
  • (#264) 修复 dump_transaction 时获得单元格混乱的问题
  • (#263) 根据提交的区块修复存款不会被退回的问题
  • (#262) 在 SMT 中插入 data_hash key
  • (#261) 默认脚本路径:tron-account-lock
  • (#260) 重置周期
  • (#259) 升级 smt 到 0.5 rc2
  • (#257) 更新系统调用和账户状态
  • (#254) 在 deploy-genesis 中更新 rollup 配置检查,在 setup 中生成
  • (#256) 在 godwoken 启动时增加配置锁的检查
  • (#246) 添加 get-balance cli
  • (#255) 更新错误代码
  • (#253) tx.nonce 应该由后端虚拟机处理
  • (#251) 修复对齐 Tx 验证状态
  • (#252) 在读取者结构上实现特质

Cross-chain

force-bridge [通用的 force bridge 组件]

  • (#175) 在 CI 测试中设置多重签名为 3/2
  • (#170) 多项改进
  • (#173) 修复 sigServer 中的 unhand 错误
  • (#171) 收集器更新铸币/解锁区块号码和状态
  • (#172) 修复过长的索引过长问题
  • (#163) 修复收到太多日志而 typeorm 字符串默认为 255 的问题
  • (#167) 用 ts 替换 bash 脚本
  • (#157) 与链上状态的调和
  • (#165) 修复辞职核查逻辑
  • (#166) eth/ckb 处理程序
  • (#164)重构错误记录指标

生态项目

DAS[去中心化账户服务]

Weekly #59 一起来看看 CKB 2021 主网升级!用 Cell 做分片?这样也行?

火花

Nervos CKB 第一次进行网络升级的 RFC 出现了

随着时间的推移,Nervos CKB 在今年的第一次主网升级的内容也已经要公诸于世了,在这里我们能够看到整个主网升级可以大致分成三个部份:首先是针对 CKB VM 进行了主要升级,其中最重要的升级是加了宏指令融合以及 b 扩展(b extension),这将提高 ckb-vm 的性能;另外在未来升级后 CKB 上有多个版本的 VM 可供选择。再来,我们也会看到像是extenstion 新字段会出现在每个区块中,以便于未来 flyclient 等之后版本升级,最后当然对于 Nervos 网络中既存的各个共识,也都有进行补丁和优化,例如有针对sincecelldeps 以及删除 header deps 不成熟期的这个规则。这些升级都能够在 RFC28~ RFC 36 等 RFC 看到,有兴趣的朋友也可以详读 RFC 37 文中对于 CKB 2021 的总览。 RFC 37 : CKB 2021 链接: rfcs/0037-ckb2021.md at ckb2021-overview · doitian/rfcs · GitHub

用 Cell 做为分片的基础模型可能吗? 有什么好处?

分片是一种当今主流的公链扩容路线之一,分片的概念是将计算、状态存储划分到多条平行链上,以使得吞吐量和性能得以超越单一条链。然而社区开发者香橙提出了一个有趣的观察:「好像大部分的分片都只考虑了账户模型,或者说 UTXO 模型只考虑转账,而极少有考虑 Extend-UTXO 模型的分片;然而在账户模型下,跨分片交易的设计极为复杂,使得现今的分片设计推进缓慢。」,而他有一个有趣的想法,那便是 Nervos 的 Cell 模型很可能是最适合分片的编程模型,分片甚至还能够解决 Layer2 上数据可用性的问题。从这个角度出发,香橙提供了如何在单一分片以及多分片输入交易这两种情况下的设计,可能要注意的设计原则,同时提出了 CellDeps 届时也可能会成为 Cell 设计上的一大挑战,甚至可能要起一条所有节点都需要同步的分片链。香橙说这还是个抛砖引玉的想法。如果对这个设计和主题有兴趣的小伙伴,欢迎点击原文链接,一起加入讨论。 假如Cell用于分片-以数据可用性为核心

本次的 CKB Weekly 我们非常感谢 Nervos 社区的香橙对于内容提出的建议和 Review,CKB Weekly 也时时刻刻欢迎大家任何对于 Nervos 相关的创意和观点,让我们一起碰撞出更多的火花。

技术

技术更新

CKB

  • (#2883) 解决了 ckb2021 出现的所有问题
  • (#2876) 内置矿工不应忽视区块模板中的扩展字
  • (#2881) 版本升级到 0.20.0-rc2
  • (#2837) 当秘密的 REPO_ACCESS_TOKEN 未被设置时,跳过预检
  • (#2872) 将 semver 从 0.9.0 升级到 1.0.3
  • (#2874) 从 1.0.73 升级到 1.0.74
  • (#2875) 将 proc-macro2 从 1.0.27 升级到 1.0.28
  • (#2867) 更新 RFC 编号和链接
  • (#2870) 用 opentelemetry-rust 取代 metrics-rs
  • (#2869) 从 CODEOWNERS 中删除 nervosnetwork/ckb-code-review
  • (#2868) 让脚本错误的构造函数公开,以便于编写测试
  • (#2864) 升级几个依赖项,删除小于v1.0 的 tokio
  • (#2854) 更好地提示 「迁移 」子程序。
  • (#2777) 升级几个依赖项,以移除最老版本的rand
  • (#2857) 修复了标题同步的状态标记问题
  • (#2863) 避免重复的单元格检查
  • (#2844) 记录失败的交易结果

Dev Tools

Godwoken-polyjuice [为 Godwoken 兼容以太坊]

  • (#67 对 sparse-merkle-tree 进行升级
  • (#65) 更新 Addition-Features.md
  • (#64) 重构 evm 内存
  • (#66) 修复模糊测试问题

Capsule [CKB 上用 Rust 创建智能合约的开发框架]
Tippy [DApp 开发套件]
CKB-std [用 Rust 编写 CKB 智能合约的模块]
Neuron

CKB Explorer

frontend
explorer

  • pool_transaction_entries 中添加 tx_status 的索引

Layer 2

Godwoken[CKB 上的 Rollup 框架]

  • (#281) 转储交易时花费了意外的 cycles
  • (#274) 更新 rpc get_block,返回 L2BlockWithStatus
  • (#280) 将smt升级到0.5.2 rc1
  • (#276) 处理 layer 1 分叉
  • (#279) 取消「not burn challenge ckb」挑战
  • (#277) 添加to-short-address / to-eth-address cli
  • (#270) query owner cell dont check empty cursor 查询所有者单元格不要检查空游标
  • (#271) 用 gw_test_作为 rpc 的前缀。
  • (#273) 添加 polyjuice 部署/发送/调用 cli
  • (#275) 如果存在的话重新调用存储路径

Cross-chain

force-bridge [通用的 force bridge 组件]

  • (#180) 添加更改验证器 cli
  • (#182) 删除具有相同nonce的签名记录
  • (#179) 添加监控器
  • (#177) 修复:linux上的 docker 错误
  • (#176) 修正处理 tx 的限制

Ecosystem

* Nervos 联合 Gitcoin 共同推出 5 万美元的开发者赏金计划