原文来源:Sui基金会
原文编译:Babywhale,ForesightNews
Sui测试网Wave2已圆满结束,本次测试帮助我们实现了在Sui上进行质押操作的目标。网络上的大量活动让我们更有信心地认为我们在上线主网的旅程中又迈出了关键一步。非常感谢所有参与并帮助我们让Sui变得更好的人!
我们从Wave2中学到了很多,未来将发布一个由三部分组成的博客系列来回顾Wave2中的所有内容。第一篇博客涵盖网络方面,而接下来的文章将更深入地讨论代币经济学和Frenemiesgame。
统计快照
在Wave2期间,社区在三周,?33个epoch的测试中共同创造了多项新记录。
超过7000个节点连接到41个验证器?
169万个地址
3650万笔交易
324万枚NFT
发布了118,?614份合约
跨链桥Owlto Finance宣布与Base主网集成:7月30日消息,专注于Layer2的Cross-Rollup跨链桥Owlto Finance宣布与Base主网集成。[2023/7/31 16:07:52]
质押134万枚SUI
处理了735万次质押操作
观察到67次TPS峰值
与1月份的前三周相比,Sui钱包DAU在Wave2期间增长了2.2倍,达到17.1万,Sui钱包的安装量增长了3倍以上,达到33.3万
Sui区块浏览器拥有100万页面浏览量和57.1万独立访问者,创下历史新高
SuiDiscord社区拥有超过60万名成员,使其成为世界上最大的web3社区之一
需要特别提到的是,有四个智能合约在Wave2期间处理了超过100万笔交易,总共占Wave2总交易量的40%?:
Sui的系统对象位居榜首,处理了超过730万笔与质押相关的交易。
Frenemiesgame位居第二,在短短五天的游戏时间内就完成了超过350万笔交易。
第三个最活跃的智能合约是?8192game,合约为0x?137?aebf?47?cd?16956?b?68633?b?6?f?6?f?00?a?99?2d?87?d?9?c?6?,处理了超过200万笔交易。
第四活跃的智能合约是SuiCapys,合约为0x?4?c?10?b?61966?a?34?d?3?bb?5?c?8?a?8?f?063?e?6?b?7445?fc?41?f?93?,处理了160万笔交易。
特别祝贺突破百万交易大关的社区项目8192game!此外也感谢用于提供Wave2数据分析的社区项目?Suiscan。?
这些新记录和网络活动水平使我们可以确定重要的软件更新,并进一步与验证者和节点运营商社区合作提高我们的运营能力。
值得关注的网络更新
与Wave1类似,Wave2旨在发现Sui基础设施上需要改进的方面。?
处理大型消息或交易
由于Wave2专注于质押,网络经历了很多的质押和取消质押交易,这帮助我们提高了处理大型网络消息和交易的能力。特别是,每个未决的质押委托和取消委托交易都会在epochchange期间生成一个事件。这会影响epochchange交易的交易大小,因为每个生成的事件都是交易效果的一部分。在Wave2中,我们在一个epoch中看到了最多23万次质押操作,因此该epochchange的交易效应变得非常大。??
这些超大交易会产生许多问题。如果epochchange交易效果变得太大而无法通过网络下载,epochchange将失败。如果交易影响大于最大JSONRPC响应,则无法检索交易。任何尝试加载如此大的交易的应用程序都可能有崩溃的风险。如此大的交易在计算上也可能过于昂贵,以至于网络无法处理。在Wave2期间,我们的团队不得不提升了一些紧急限制,以保持网络在处理大量交易时正常运行。???????????
针对以上情况,我们加快了对对象、包和各种交易数据的保护性大小限制的添加。这些限制将有助于确保存储、网络和计算资源不会被主网上的超大交易所淹没。
更稳健地处理交易的类型参数输入
2月1日,我们发现了一个错误,如果将Move模块指定为类型参数中的交易输入,则交易处理逻辑无法正确验证Move模块的依赖项。由于Move包发布是通过拜占庭一致性广播快速路径进行的,因此某些验证器可能会先于其他验证器了解已发布的Move模块,并且可能不同意在类型参数中使用此模块的交易的有效性。一个这样的交易阻止了系统形成下一个检查点,结果导致许多全节点停止以及验证器分叉网络。这是2月1日凌晨Wave2中断的主要原因。???
为了在存在类型参数中输入模块无效的已提交交易的情况下保持测试网运行,我们的团队执行了一些紧急修复:
始终检查类型参数的模块是否已发布;
允许提交的无效交易通过失败完成执行;
防止提交具有未发布类型参数的进一步交易?。
之后我们发现了第二个错误,即交易输入检查逻辑不拒绝将不是Move模块的合约作为输入插入到类型参数中。因为类型参数必须是Move模块,所以交易永远无法完成,也无法形成下一个检查点。同样,我们的团队不得不添加紧急修复程序以强制有问题的交易因执行错误而失败,以便恢复网络。?
我们在Sui的代码库中添加了这两个错误的修复方案:修复输入对象生成#7940?。
Narwhal共识机制延迟改进
与Wave1类似,测试网Wave2提供了可以进一步测试具有41个去中心化验证器的Narwhal共识的宝贵机会。在Wave2期间,我们借此机会进行了几项共识的延迟减少优化。我们不断迭代性能并将很快推出更多优化计划。??
值得注意的开发者经验教训
虽然确保网络的稳定性是当务之急,但我们的长期目标是让Sui成为首屈一指的智能合约开发者平台,开发者可以基于Sui为Web3.x创造最佳的体验。为此,我们还在Wave2期间关注了开发人员和用户的摩擦点。
代币管理
在Wave2期间,有几个因素使用户有可能遇到代币管理问题。这些问题通常表现为Gas费用不足的错误,或者在用户似乎持有足够的SUI余额进行交易时出现灰色的质押按钮。?
因为?ValidatorGame在网络上的活跃,参考Gas价格可能会波动,并且在每个epoch之间都有比正常情况更大的增长。高Gas价格的波动可能会使用户持有的单一代币价值不够用来支付Gas费用。其次,初始参考Gas价格设置的比Devnet更高,这样用户持有多种代币的可能性更小,用完币的速度也更快。最后,质押操作本质上涉及用户将其现有SUI余额委托给一个或多个验证器。然而,用户持有的SUI的布局可能并不总是与他们预期的质押操作相匹配。
我们在Wave2期间进行了一些更改以缓解这种情况:?
我们在高参考Gas价格期间提高了默认faucet数量;
我们已解决Sui客户端选择大于gas_budget而不是gas_budget*gas_price的Gas对象的SDKbug;
为Sui钱包质押添加了基本代币管理。其中,对于每个质押操作,我们使用paySui交易构建了分别用于质押和支付Gas的模块。
我们计划很快支持可编程交易,这将简化应用程序的代币管理。
本轮测试的其他收获
每个测试网Wave都是紧张和兴奋的结合。我们与Sui社区的每个人合作,有意将网络的质押能力推向极限,并本着这种精神在测试网Wave2期间成功地加强了Sui。
我们非常感谢社区的积极参与,这有助于产生高负载并发现问题。我们的下一个里程碑是为开发者社区启动一个永久性测试网,该测试网将不再是临时性的,我们期待届时进一步合作。
原文链接
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。