Godwoken v1.4 发布

作者:Daniel Kmak
原文链接:Godwoken v1.4 release

Godwoken 是运行在 Nervos 上的兼容 EVM 的 optimistic rollup。

新版 Godwoken 自 2022 年 7 月初开始在主网上运行。这次大升级,并不意味着软件开发的结束。添加新功能、修复 bug 仍在进行中。

目前 Godwoken 的测试网版本和主网版本,已于 2022 年 8 月 2 日更新至 v1.4。在本文中,你将看到 Godwoken v1.4 的所有更新内容。

Godwoken 节点

Godwoken 节点是 Layer 2 网络的核心部分,已更新至 v1.4.3。

在介绍新功能之前,请记住,你始终可以在这个库中找到运行你自己的 Godwoken 节点的最新配置:https://github.com/nervosnetwork/godwoken-info

1. 在 Layer 2 直接创建账户

在之前的版本中,必须通过 https://bridge.godwoken.io 发送一笔来自 Layer 1 的交易来激活 Godwoken上的账户。

现在,只要拥有 CKB 并发送第一笔交易,就会激活 Godwoken 上的账户。

这使得 Godwoken 能与其他众多的入门解决方案进行集成,让用户上手变得更加容易。

如果你是技术人员,这里有相关的代码库问题参考:https://github.com/nervosnetwork/godwoken-web3/issues/337

2. 添加导入/导出区块的命令

此功能仅适用于运行 Godwoken 只读节点的人员。

现在可以将区块导入节点数据库以及导出,对调试来说可能很有用。

举个例子,如果你的节点停止同步区块了,你可以尝试将其导出,并在报告 bug 的时候将其分享给 Godwoken 团队。这样 Godwoken 团队就可以导入并在他们的机器上进行调试和分析。

导出区块的子命令:

example: godwoken export-block -c config.toml --output-path ./blocks_testnet_v1

导入区块的子命令:

example: godwoken import-block -c config.toml --source-path ./block_testnet_v1

相关文档链接:https://github.com/nervosnetwork/godwoken/blob/develop/docs/export_import_block.md

其他变更

  • Check sender’s balance in execute_raw_l2transaction RPC #750
  • Fix gw-tools stat-custodian-ckb command #757
  • Redirect layer 2 transaction syscall log to sentry #758
  • fix(rpc): calculate tx signature hash using packed bytes #760
  • fix(config): optional block producer wallet for readonly node #768
  • hotfix(rpc server): submit withdrawal missing data for submit_tx #770

Godwoken Web3

Godwoken Web3 是一个兼容 Ethereum 的 RPC 层,运行在 Godwoken 节点之上。目前,Godwoken Web3 已更新至 v 1.5.2-rc1。

1. 更新报错信息

收到的报错信息,例如当智能合约在试图发送交易时发生了回滚,已更新为更接近以太坊的标准。相关变更详见:https://github.com/nervosnetwork/godwoken-web3/pull/437

2. 现有 RPC 的修复和优化

eth_filtereth_getFilterChanges 用于接收来自智能合约的新 onchain 事件,现已被修复和优化。

3. 新的 RPC 用法

添加了两种新的用法,可以在 Godwoken 交易哈希和以太坊交易哈希之间进行转换:

  • poly_getEthTxHashByGwTxHash
  • poly_getGwTxHashByEthTxHash

更多信息,欢迎查阅:https://github.com/nervosnetwork/godwoken-web3/pull/449

此外,还添加了一种用法:

  • gw_is_request_in_queue

它返回请求(交易或提款)是否在 fee queue 中。请求在被推送到内存池之前,要经过 fee queue。只在完整的节点中支持。更多信息,欢迎查阅:https://github.com/nervosnetwork/godwoken/blob/develop/docs/RPC.md#method-gw_is_request_in_queue

4. 修复以太坊交易哈希数据字段

web3-indexer-database(PostgreSQL) 中的 eth-tx-hash 数据字段,在以前的版本中可能包含不正确的数据。这个问题在 v1.5.1-rc1 版本中已经修复,所以 web3_version >= v1.5.1-rc1 索引的数据是正常的。否则,你需要考虑从头开始重新同步数据库,或者使用提供的 CLI 工具来纠正错误的数据。

关于如何使用一些命令修复数据库,欢迎查阅:Release v1.5.2-rc1 · nervosnetwork/godwoken-web3 · GitHub

5. 其他变更

所有的变更记录,包括软件的内部优化,欢迎查看发布页面:Releases · nervosnetwork/godwoken-web3 · GitHub