AntChainOpenLabs / AntChainBridge

Apache License 2.0
8 stars 1 forks source link

GLCC课题:插件开发测试框架 #2

Open zhejianglab-ospo opened 2 months ago

zhejianglab-ospo commented 2 months ago

希望提供一个功能完善、使用友好的测试框架,具备如下功能:1.支持快速启动插件测试、2.支持灵活全面的插件加载测试、3. 提供友好的cli交互界面。

bladechen commented 2 months ago

报名链接:https://www.gitlink.org.cn/glcc/2024/subjects/detail/950

背景

AntChain Bridge将跨链互操作解释为两个层次:通信和可信,即跨链的目标在于实现区块链实体之间的可信通信。

在AntChain Bridge的架构中,中继需要与区块链进行交互,而异构链的通信协议各式各样,无法统一适配,因此AntChain Bridge抽象出了区块链桥接组件(Blockchain Bridge Component, BBC),来解决区块链和跨链网络的通信问题。

每种异构链要接入AntChain Bridge跨链网络,都需要实现一套标准的区块链桥接组件,可以分为链上和链下两部分,包括链下插件和系统合约。链下插件需要基于SDK完成开发,链上部分则通常是智能合约,要求实现特定的接口和逻辑,为降低开发难度,我们提供了Solidity版本的实现。

AntChain Bridge为开发者提供了SDK、手册和系统合约模板,来帮助开发者完成插件和合约的开发。同时,AntChain Bridge提供了插件服务(PluginServer)来运行插件,插件服务是一个独立的服务,具备插件管理和响应中继请求的功能。

在当前的工程实现中,BBC链下部分是以插件的形式实现的。AntChain Bridge实现了一套SDK,通过实现SDK中规定的接口(SPI),经过简单的编译,即可生成插件包。插件服务(PluginServer, PS)可以加载BBC链下插件,详情可以参考插件服务的介绍文档。

目标

设计与实现异构链插件测试工具,并针对AntChain Bridge已经开源7款插件产出测试报告。

导师

方宝珠 | fangbaozhu.fbz@antgroup.com 陈盛龙 | shenglong.chensl@antgroup.com

产出要求

希望提供一个功能完善、使用友好的测试框架,

  1. 支持快速启动插件测试:保证用户可以快速上手,比如用户实现链上插件并启动链后,提供插件jar包及链配置信息即可快速一键启动测试;
  2. 支持灵活全面的插件加载测试:可以测试单个或多个不同类型的插件的加载、启动、模拟创建某条链的BBC服务、关闭等功能,测试需要覆盖现有bcos,fabric,eth,eos,chainmaker,hyperchain等插件加载、启动等操作;
  3. 提供友好的cli交互界面:提供cli交互界面,支持用户选择单个插件进行测试或单个接口进行测试,同时希望cli界面提供友好的提示信息,用户可以看到不同插件的类型信息及接口测试执行情况,执行失败时有清晰的日志信息或分析建议。
  4. 产出框架使用文档,说明如何基于该框架编写异构链插件的测试用例

能力要求

熟悉Java开发
了解区块链工作原理
熟悉主流区块链的使用方式