Celestia:测试模块化区块链软件简介

生产网络中的简单错误和常见问题是威胁去中心化区块链弹性的问题。考虑到众多用户和应用程序都依赖这些区块链,这个问题尤为重要。我们希望强调一个在讨论中被忽视,而且更重要的是,在确保区块链稳定性方面被低估利用的关键组成部分。

这篇文章将讨论测试区块链的重要性以及有效测试它们的策略。

TL;DR

区块链网络的健壮性涉及对节点类型、定制化和网络范围内的性能进行严格测试,以确保安全性和可靠性。随着模块化区块链中节点设置的灵活性增加,加强维护网络安全性和可靠性的测试实践至关重要。有效的测试策略包括单元测试、集成测试和系统测试。测试模块化区块链的挑战包括复杂性、互操作性问题以及缺乏标准化框架。测试区块链的重要性

测试区块链网络对于确保其安全性、可靠性和长期稳定性至关重要。测试确保如果网络没有按预期运行,问题会在部署之前被识别和解决。

Binance:币安的荷兰用户可将资金转移到Coinmerce:金色财经报道,Binance官方推特发文表示,随着币安退出荷兰市场,币安希望尽可能顺利地进行过渡。币安的荷兰用户可将资金转移到Coinmerce。荷兰用户将收到一封电子邮件,说明这对他们有何影响,以及他们需要采取哪些步骤来转移资金。[2023/7/14 10:55:26]

对于模块化区块链,测试过程更为复杂,因为有更多的节点类型和可能的设置。

每种节点类型都必须单独测试,然后作为整个网络的一部分进行测试。由于每种节点类型都可以进行定制,因此测试过程还必须包括定制的测试。

区块链的测试策略在进行测试过程时要记住的事项所有团队,CelestiaLabs也不例外,在软件开发的每个方面都有有限的人力资源。由于区块链开发节奏很快,测试被认为是相对于发布新功能的较低优先级。即使在测试时间有限制的情况下,团队应该记住,如果他们遵循简单的指导原则,测试可以是有效的:

Blur创始人:接受挂单价功能已重新启用,将向受影响的交易者予以退款补偿:4月22日消息,Blur创始人Pacman发推称,北京时间4月22日11:00左右,Blur在消息处理中检测到一个漏洞,该漏洞影响了过去80小时内取消的一些出价。在检测到漏洞后,团队立即禁用“接受挂单价”功能。在30分钟的时间里,有36个受影响的挂单价被接受。此后,Blur修复了这个问题,并在北京时间4月22日14:05启用挂单价功能。在启用接受挂单价之前,任何高于地板价的当前挂单价都将被自动取消。

Pacman表示,除了修复导致这一问题的漏洞外,团队还实施了两个额外的冗余安全检查,以便这一问题不会再次发生。所有受影响的挂单价被接受的交易者将被获得其出价与当时适当的最高出价之间差价的2倍退款。譬如,如果最高出价是14.5ETH,而受影响的挂单价以15.5ETH被接受,Blur将退还2ETH。受影响的交易者无需出售其NFT来获得这笔退款。Blur将在接下来的24小时内自动发送。[2023/4/22 14:20:35]

穷尽测试是不可能的。你不能覆盖所有内容,但通过识别和优先测试高风险元素,你可以覆盖很多内容。尽早发现并修复错误。随着错误从规格到测试网到主网的传播,修复它们的成本逐渐增加。任何自动化都比没有好。在进行大型网络端到端测试时,自动化变得至关重要。在将软件发布给公众之前,在内部开发网上进行测试。确保软件在发布到测试网之前是稳定的,这样可以减少社区的工作量和挫败感。手动测试总比没有测试好。虽然手动测试不是可扩展的长期解决方案,但它仍然对短期目标有用。你可以在以后引入自动化。

18358枚ETH从未知钱包转移到Coinbase交易所:金色财经报道,据Whale Alert监测数据显示,18,358 枚 ETH(价值约 38,736,730 美元)从未知钱包转移到 Coinbase 交易所。[2023/4/14 14:04:19]

区块链测试金字塔

与任何软件测试一样,区块链的测试过程应该既包括功能测试,也包括非功能测试。功能测试侧重于检查单个模块及其与其他模块的相互作用。另一方面,非功能测试评估网络的性能、安全性和可扩展性,以确保一个健壮且可靠的区块链系统。

以下策略可用于有效地测试区块链:

调查:超六成的韩国受访者表示加密资产不是证券:金色财经报道,一项新的民意调查发现,超六成的韩国人不认为加密资产是证券。尽管韩国立法者可能更愿意效仿华盛顿的做法,决定将哪些加密货币列为证券。这项调查是由Cratos进行的,该公司是一个基于区块链技术的移动应用程序的运营商。超过4100名韩国人参加了这项调查,调查是在8月12日至8月15日进行的。该公司表示,刚刚超过34%的人表示,加密资产“既不是一种证券,也不是一种商品”,而近33%的人表示,他们认为加密货币是商品。略微超过23%的人回答说,他们认为加密资产是证券,而9.6%的人说他们不知道。(Crypto News)[2022/8/23 12:41:54]

1.单元测试

单元测试涉及对每个模块单独进行测试,以确保其正确运行。在这种情况下,一个模块的示例是celestia-node的头部,它封装了如何在网络中的不同节点之间传播头部的信息。它对区块链至关重要,因为它允许对每个模块的定制进行测试。

宁波首轮发放2万个数币消费红包助力推广数字人民币:6月30日消息,“潮甬金六月·数币消费新体验”数字人民币消费红包发放活动于今日正式启动。首轮将面向手机定位在宁波的个人用户发放2万个数币红包,每个金额100元。(上证报)[2022/6/30 1:40:38]

这种测试策略有助于在模块集成到网络之前发现任何问题。对于模块化区块链与模块化软件设计相结合的情况,隔离测试每个组件是非常有益的。

2.集成测试

集成测试对于区块链至关重要,以确保模块之间的交互如预期一样。这种测试策略涉及将模块与其他模块一起进行测试,以确保它们之间的互操作性。

一个模块与模块测试的例子是一个节点与另一个节点进行测试。在Celestia的情况下,我们通常会测试一个轻节点从一个单一的桥节点同步和抽样。它们都是从一个代码库编写的,但打包方式不同。

集成测试有助于发现模块之间交互和网络中的任何问题。

在这个测试级别中,通常需要准备一个同一台机器上的小型节点网络来进行测试。

3.系统测试

系统测试涉及测试整个网络,以确保其符合必要的要求。这种测试策略涉及测试网络的性能、可扩展性和安全性。系统测试有助于发现网络整体功能和性能方面的问题。

在系统测试中,通常使用较大的节点网络来模拟真实环境。这种测试策略有助于发现由于网络的去中心化特性而可能出现的问题。

Celestia在系统级别发现的一个很好的例子是在提交交易或DA节点进行简单余额检查过程中出现的密钥不匹配问题。在PayForBlob功能的负载测试期间发现了这个功能性错误。系统测试通常会揭示那些单元/集成测试无法发现的问题,尽管测试场景简单,有时与测试计划的测试目标无关。

另一个例子是在系统发布测试中发现的误报,其中DA节点正常运行,但经过严格审查后发现实际上并未运行。

此外,系统测试还有助于确保网络能够处理大量的交易和用户。

系统测试是区块链测试过程的关键部分。它有助于确保网络按预期运行,并在部署之前识别和解决任何问题。通过在系统级别测试区块链,我们可以确保它们被社区成功采用和使用。

这种测试级别被认为是最昂贵的,不应该像单元/集成测试那样具有相同的覆盖范围。对于模块化设计的区块链来说尤其如此,因为在设计系统测试时需要考虑更多的上下文。

我们将在本系列的第二部分更详细地介绍这个测试级别。

模块化区块链测试的未来

随着区块链的不断发展,测试也必须发展。新的测试策略和框架将出现,现有的策略和框架将得到改进。测试过程将变得更加自动化和简化,从而减少测试时间和成本。

随着区块链的广泛应用,标准化测试框架的需求将变得越来越明显。标准化框架将帮助测试扩展到更多类型的网络和用例。如果你喜欢这篇介绍性文章,我们将在第二部分解释CelestiaLabs如何使用一个名为Testground的工具进行大规模网络测试。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

比特币曼谷Web3见闻录:数字游民天堂or混乱灰产基地

曼谷,一座迷人的城市。得宜于其独特的文化氛围、异域色彩的风景、离中国并不遥远的距离,成为了国人极为偏爱的旅游目的地。而由于种种原因,曼谷这座东西方文化交融且极富国际化色彩的城市,也成为了Web3数字游民颇为偏爱的目的地.

UniswapZero Knowledge Podcast: 开放构建Scroll

开场 AnnaRose:?欢迎来到ZeroKnowledgePodcast。我是你们的主持人,安娜·罗斯。在此播客中,我们将探索最新的零知识研究和去中心化网络,以及有望改变我们在线互动和交易的新范式.

[0:0ms0-1:888ms