news 2026/2/14 8:03:05

2026年河北省职业院校技能大赛“区块链技术应用”竞赛样题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2026年河北省职业院校技能大赛“区块链技术应用”竞赛样题

2026年河北省职业院校技能大赛“区块链技术应用”竞赛样题

文章目录

  • 2026年河北省职业院校技能大赛“区块链技术应用”竞赛样题
    • 模块一:区块链产品方案设计及系统运维
      • 任务1-1:区块链产品需求分析与方案设计
      • 任务1-2:区块链系统部署与运维
      • 任务1-3:区块链系统测试
    • 模块二:智能合约开发与测试
      • 任务2-1:智能合约设计
      • 任务2-2:智能合约开发
      • 任务2-3:智能合约测试
    • 模块三:区块链应用系统开发
      • 任务3-1:区块链应用前端功能开发
      • 任务3-2:区块链应用后端功能开发
    • 需要培训可联系博主!!

区块链技术应用技能大赛参考答案:区块链技术应用技能大赛参考答案(点击这里)

模块一:区块链产品方案设计及系统运维

选手完成本模块的任务后,将任务中软件建模图、配置文件、运行结果等截图(截图内容清晰且完整)和文字内容粘贴至客户端桌面【工位号文件夹\模块一提交结果.docx】中对应的任务序号下。

任务1-1:区块链产品需求分析与方案设计

航班延误险中涉及到乘客、航空公司、区块链系统平台、保险公司等参与方,他们需要在区块链系统平台中完成账户注册、身份上链、机票购买、保险购买等多种业务活动。通过对业务活动的功能分析,可以更好的服务系统的开发流程。基于航班延误险系统架构图,以区块链航班延误系统为背景,结合账户注册、登录服务、入驻上链、购买机票等核心功能描述,使用Visio绘制用例图、功能图、架构图等概要设计。
本任务需要依据项目背景完成需求分析与方案设计,具体要求如下:

  1. 根据区块链航班延误险平台项目背景描述,对区块链航班延误险平台进行需求分析,完成以下任务:
    (1)编写用户群体需求分析,明确系统用户群体及其需求;
    (2)绘制系统UML用例图,用例图中包含系统参与角色以及用例。
  2. 依据延误险系统业务流程以及给出的航班延误系统的核心流程,使用Visio绘制业务系统功能图;
表1-1-1 航班延误险系统的核心流程
发布理赔协议流程保险公司起草航班延误险理赔协议,使用保险公司的私钥对理赔协议进行签名并广播到区块链中
生成航班延误险理赔合约流程乘机人购买航空公司的机票后,通过乘机人节点在理赔协议中填写个人信息和航班信息,生成航班延误险理赔合约
理赔合约属性文本广播流程乘机人对航班延误理赔合约提炼合约属性文本,使用私钥对合约属性本文以及理赔合约进行签名后,广播到区块链中
航班延误赔付流程链上节点实时监控航班时间,并在航班延误满足条件时,判断保险公司对乘机人的航班延误赔付
  1. 按照基础层、合约层、接口层以及应用层的结构来设计区块链系统的架构,其中在基础层需指明需要的节点、名称、协议、存储等信息,使用Visio绘制系统架构图。

任务1-2:区块链系统部署与运维

围绕区块链航班延误险平台部署与运维需求,进行项目相关系统、节点以及管理工具的部署工作。通过监控工具完成对网络、节点服务的监控。最终利用业务需求规范,完成系统日志、网络参数、节点服务等系统结构的维护,具体要求如下:

  1. 根据参数与端口设置要求,部署区块链系统并验证;
  2. 根据参数与端口设置要求,部署区块链网络管理平台并验证;
  3. 基于区块链系统相关管理平台,按照任务指南实施系统运维工作并验证;
  4. 基于区块链系统相关监管工具,按照任务指南对区块链系统进行监管。
    子任务1-2-1: 搭建区块链网络并验证
    基于给定服务器环境以及软件(地址“/root/tools”),搭建单机、单机构、两群组、五节点的区块链系统并验证,具体工作内容如下:
机构群组节点P2P端口channel端口rpc端口
agencygroup1node0、node1、node230200202008020
agencygroup2node3、node430300203008030

(1)根据区块链网络搭建信息表编写ipconf配置文件搭建区块链网络,ipconf文件内容和创建过程的输出结果截图保存;
(2)通过命令验证区块链节点进程运行状况,结果截图;
(3)通过命令验证区块链节点(node1)连接节点数和共识状态日志输出,结果截图。

子任务1-2-2:搭建区块链控制台并验证
基于给定服务器环境以及软件(地址“/root/tools”),搭建区块链控制台并开展相关运维工作,具体工作内容如下:
(1)配置控制台,管理相关证书并启动,控制台启动结果截图;
(2)使用控制台部署HelloWorld智能合约,命令和结果截图;
(3)使用控制台完成HelloWorld智能合约的set与get操作,命令和结果截图;
(4)将控制台从group1切换到group2,命令和结果截图;
子任务1-2-3:区块链账户权限控制
基于已完成的区块链系统与控制台搭建工作,开展区块链账户权限管理等运维工作,具体内容如下:
(1)运行脚本创建三个新的账户(格式为pem),使用账户1(account1)指定群组1登录控制台,添加账户1(account1)、账户2(account2)和账户3(account3)为委员并验证,过程和结果截图保存;
(2)修改账户1的票数为2并验证,修改投票阈值为75%并验证,结果截图保存;
(3)撤销账户3(account3)的委员权限,设置账户3为运维角色并验证,过程和结果截图保存。
子任务1-2-4:区块链网络运维
根据任务描述要求,完成网络配置与管理运维操作,具体内容如下:
(1)设置区块链系统黑名单,将node3设为黑名单禁止并通过控制台验证node3的Peers,配置文件和验证结果截图;
(2)通过给定工具(地址/root/tools)完成新节点(node5)创建,将新节点(node5)接入群组1和群组2并参加共识,通过日志信息验证新节点(node5)已经接入群组1和2,过程和验证结果截图保存;
(3)在群组1中将node1设置为观察节点,验证结果并截图。

任务1-3:区块链系统测试

基于WeBASE的部署脚本完成WeBASE环境搭建以及搭建结果验证,最后将执行结果截图保存。
(1) 实现WeBASE平台部署,访问WeBASE管理平台首页,截图保存;
(2) 使用WeBASE-Sign进行对数据E7ADBEE5908D进行签名,结果截图;
(3) 使用WeBASE-Front查询机器历史性能信息,结果截图。

模块二:智能合约开发与测试

选手完成本模块的任务后,将任务中设计结果、运行代码、运行结果等截图(截图内容清晰且完整)粘贴至客户端桌面【工位号文件夹\模块二提交结果.docx】中对应的任务序号下。

任务2-1:智能合约设计

根据区块链航空延误险系统需求分析和设计文档的描述,绘制智能合约UML时序图,编写该区块链产品的智能合约功能需求文档。具体要求如下:

  1. 绘制区块链航空延误险系统智能合约的UML时序图;
  2. 结合区块链航空延误险系统项目背景、概要设计、需求分析和功能设计等,编写区块链航空延误险系统的智能合约功能需求文档。

任务2-2:智能合约开发

使用Solidity语言进行智能合约开发,根据需求功能介绍在待补充源码中完成程序接口功能的编码,解决代码错误和警告,正确编译合约,功能调试正确,运行合约进行业务功能的验证,下列子任务中的合约编码表示合约中对应接口功能开发。
子任务2-2-1:航班信息存证上链功能
根据功能介绍在待补充源码中完成航班延误存证上链功能的编码,解决代码错误和警告,正确编译合约,功能调试正确。
(1)编写获取航班信息接口,实现依据航班号获得航班号对应的计划起飞时间、实际起飞时间、到达时间、是否延误状态的功能,代码截图保存;

表2-2-1 FlightInfo实体说明
名称说明
flightNumber航班号
departureTime计划起飞时间
actualDepartureTime实际起飞时间
arrivalTime到达时间
delayed是否延误

(2)编写判断航班是否延误接口,实现依据航班号获得航班号对应的航班是否延误,得到航班是否延误的结果功能,代码截图保存。
加粗样式子任务2-2-2:航班延误保险购买功能
根据需求功能介绍在待补充源码中完成航班延误购买功能的编码,解决代码错误和警告,正确编译合约,功能调试正确,运行合约中的保险购买、退保功能。
(1)编写航班保险购买上链接口,完成只有购买机票的用户可以购买保险,且购买保险的时间不能超过购买机票后的0.5小时的功能,符合条件则用户可以购买保险,将用户购买保险状态上链,代码截图保存;
(2)编写退保接口,完成保险公司预存赔偿金后,用户无法退保,反之用户可退保的功能,将用户退保状态上链,并退还用户保费功能,代码截图保存。
子任务2-2-3:航班延误险理赔功能
根据需求功能介绍在待补充源码中完成航班延误险理赔功能的编码,解决代码错误和警告,正确编译合约,功能调试正确。
(1)编写客户理赔接口,实现如果航班延误超过4小时,将赔偿金赔偿给乘客的功能,补全代码并截图;
(2)编写保险公司收取保费接口,实现如果航班没有延误或者延误时间少于4小时,将保费转账给保险公司,并退还赔偿金的功能,补全代码并截图。

任务2-3:智能合约测试

子任务2-3-1:基于Web前置平台的合约测试
1.解决代码错误和警告,正确编译所有合约并部署合约,成功获取部署的合约地址和abi,智能合约地址截图,abi文件命名为【智能合约.abi】并保存至客户端桌面【工位号文件夹】下;。
2.使用WeBASE调用任务2-2中所有需要补全代码的智能合约接口进行测试,运行结果截图。

子任务 2-3-2:漏洞测试
分析下面漏洞智能合约,使用WeBASE进行漏洞复现,修复漏洞并使用WeBASE进行验证。
如下有问题的合约代码:

contract SimpleERC20{address public owner;uint public total;mapping(address=>uint)private balances;event Mint(address,uint);constructor()public{owner=msg.sender;}//bytes(mint_d22vi9okr4w(address))=6D696E745F6432327669396F6B723477286164647265737329functionmint_d22vi9okr4w(address _account)public{require(msg.sender==owner);require(balances[_account]+1000>balances[_account]&&total+1000>total);balances[_account]+=1000;total+=1000;emit Mint(_account,balances[_account]);}//transfer(address,address,uint256)=7472616E7366657228616464726573732C616464726573732C75696E7432353629functiontransfer(address from,address to,uint amount)public{require(msg.sender==owner);require(balances[from]>=amount&&balances[to]+ amount>balances[to]);balances[from]-=amount;balances[to]+=amount;}functiongetBalance(address _account)public view returns(uint){returnbalances[_account];}}contract factoryERC20{address public owner;constructor()public{owner=msg.sender;}functionmint(address _token,address _account)public returns(bool){require(msg.sender==owner);(bool success,)=address(_token).call(abi.encodePacked(bytes4(0x00000000), abi.encode(_account)));}functioncreateERC20()public returns(address){SimpleERC20 erc=new SimpleERC20();returnaddress(erc);}functiontransfer(bytes memory _method ,address _token,address _to, uint _ammount)public returns(bool){(bool success,)=address(_token).call(abi.encodePacked(bytes4(keccak256(abi.encodePacked(_method))), abi.encode(msg.sender, _to, _ammount)));returnsuccess;}functiongetBalance(address _token,address _account)public returns(uint){SimpleERC20 erc=SimpleERC20(_token);returnerc.getBalance(_account);}}

(1)分析智能合约中存在问题,并说明导致漏洞的原因及其危害;
(2)通过WeBASE调用智能合约,复现智能合约中存在的漏洞,结果截图;
(3)修复智能合约漏洞并测试,修复结果和测试结果截图。

模块三:区块链应用系统开发

选手完成本模块的任务后,将任务中添加代码、Web页面、运行结果等截图粘贴至客户端桌面【工位号文件夹\模块三提交结果.docx】中对应的任务序号下。

任务3-1:区块链应用前端功能开发

使用Vue调用航班管理接口,将获取的航班号、计划起飞时间、实际起飞时间、到达时间、是否延误等信息传递给前端模板,要求如下:
(1)使用VsCode工具,在patientList.vue文件中完成购买机票功能并按照航班管理原型图的长度、宽度、行高、间距、文字样式、颜色等,完成航班信息管理页面的开发,将Web页面和代码截图保存;


(2)完成Vue调用航班管理接口API,获取接口返回的航班号、计划起飞时间、实际起飞时间、到达时间、是否延误信息,填充至Vue页面中,将Web页面和代码截图保存。

任务3-2:区块链应用后端功能开发

在航班延误Dapp后端开发中,使用Java完成在区块链中实现航班信息和航班延误的管理,获取区块链交易信息、航班信息实体类设计、MySql数据库表结构创建、查询航班信息接口,与前端页面交互,形成完整的Dapp系统。
任务3-2-1:区块链信息查询
(1)使用Java语言编写后端代码进行交互,获取区块链的最新高度、最新交易Hash。
要求如下:在IntelliJ IDEA工具中,使用Java-SDK在,查询区块链的最新高度(数字)和最新交易Hash(字符串),并将结果返回,并完成相应代码,代码和返回结果截图保存。
任务3-2-2:声明航班信息实体类和数据库设计
(1)根据“航班信息管理合约”中变量的字段,在Java项目中声明实体类(FlightInformation),将声明代码结果截图保存;
包含字段: 航班号(flightNumber)、计划起飞时间(departureTime)、实际起飞时间(practicalDepartureTime)、到达时间(arrivalTime)、是否延误(delayState)。
(2)请打开Navicat Premium 客户端,并连接数据库,根据第1步声明的实体类,创建数据库表(flight_information)与表结构字段,并给出建表语句。
任务3-2-3:编写调用航班管理合约查询航班详情接口
在航班延误Dapp中,使用Java语言完成getPurchasedInsuranceinfo接口调用航班管理智能合约,完成航班信息的添加和查询接口,通过Http请求与航班管理接口进行交互,并将获取航班号、计划起飞时间、实际起飞时间、到达时间、是否延误等信息传递给前端模板,要求如下:
(1)接收Web端传递的对应实体类参数(包括航班唯一标识);
(2)调用Java-SDK,运行调用智能合约API,获取航班详情传递给前端页面;
(3)订单详情查询成功后,将获取到的订单信息进行解析,并通过数据库依赖包(mysql-connector-java-bin.jar)存储到数据库中;
(4)使用postman测试功能完整性,测试参数和结果截图,getPurchasedInsuranceinfo接口部分代码截图。

需要培训可联系博主!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/11 4:02:03

面试必备:掌握这些自动化面试题,让你在面试中稳操胜券!

面试时,自动化是软件测试高频面试内容,通过学习和准备面试题,你会对可能遇到的问题有所准备,从而减轻面试时的紧张感,让你在面试中稳操胜券!今天,分享一些在面试中可能会遇到的自动化测试面试问…

作者头像 李华
网站建设 2026/2/11 4:01:58

RNFetchBlob终极指南:移动端文件操作与网络传输的完整解决方案

RNFetchBlob终极指南:移动端文件操作与网络传输的完整解决方案 【免费下载链接】rn-fetch-blob 项目地址: https://gitcode.com/gh_mirrors/rn/rn-fetch-blob 在移动应用开发中,文件操作和网络传输是每个开发者都会遇到的挑战。RNFetchBlob作为R…

作者头像 李华
网站建设 2026/2/10 21:42:02

测试文章标题03

测试文章内容这是一篇测试文章

作者头像 李华
网站建设 2026/2/13 15:17:32

面试必问的7大测试分类!一文说清楚!

在日常测试工作中,我们经常会听到“单元测试,集成测试,系统测试”之类的词汇,大家都知道这是按照开发阶段进行测试活动的划分。这种划分完整的分类,其实是分为四种“单元测试,集成测试,系统测试…

作者头像 李华
网站建设 2026/2/9 16:11:10

m4s-converter:B站缓存视频转换的终极解决方案

m4s-converter:B站缓存视频转换的终极解决方案 【免费下载链接】m4s-converter 将bilibili缓存的m4s转成mp4(读PC端缓存目录) 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 还在为B站缓存的m4s文件无法直接播放而烦恼吗?m4s-conve…

作者头像 李华
网站建设 2026/2/12 14:07:25

Unity角色移动系统架构设计:构建高性能状态机驱动控制器

Unity角色移动系统架构设计:构建高性能状态机驱动控制器 【免费下载链接】unity-genshin-impact-movement-system A movement system made in Unity that attempts to replicate Genshin Impact Movement. 项目地址: https://gitcode.com/gh_mirrors/un/unity-gen…

作者头像 李华