Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
zhejianglab-ospo opened this issue Jun 26, 2024 · 1 comment
Open

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

zhejianglab-ospo opened this issue Jun 26, 2024 · 1 comment

Comments

@zhejianglab-ospo
Copy link

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

@bladechen
Copy link
Collaborator

bladechen commented Jun 28, 2024

报名链接: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开发
了解区块链工作原理
熟悉主流区块链的使用方式

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants