(全国职业技能比赛:高职)GZ036区块链技术应用赛项赛题第10套.docx
- 文档编号:18958801
- 上传时间:2024-09-15
- 格式:DOCX
- 页数:24
- 大小:483.53KB
(全国职业技能比赛:高职)GZ036区块链技术应用赛项赛题第10套.docx
《(全国职业技能比赛:高职)GZ036区块链技术应用赛项赛题第10套.docx》由会员分享,可在线阅读,更多相关《(全国职业技能比赛:高职)GZ036区块链技术应用赛项赛题第10套.docx(24页珍藏版)》请在冰点文库上搜索。
2023年全国职业院校技能大赛
高职组
“区块链技术应用”
赛项赛卷(10卷)
任
务
书
参赛队编号:
背景描述
养老保险是对于老年人的最基本的生活保障。
各种数据显示,当前的养老金市场规模庞大。
2016年美国的养老金资产总额为19.1万亿美元;而据估计,截至2016年,全球养老金资产总额约为36万亿美元。
美国是最大的养老保险市场,其占全球份额为62%;其次是英国(7.9%)和日本(7.7%)。
然而,养老保险市场在各个方面存在诸多缺陷,往往会对个人造成负面影响。
常见的问题包括治理不善和糟糕的绩效管理,以及在养老金缴纳过程中出现问题(因为没有标准的过程,其流程容易出现隐藏的成本、糟糕的数据管理,甚至是养老金欺诈)。
区块链养老保险平台业务流程图
现有一个基于区块链的职工养老保险平台,当工作单位U参保人P办理职工基本养老保险时,参保人所在的工作单位在养老保险管理平台S输入个人身份证号,S从公安部门调取P的基本信息,从劳动部门L调取P的工作单位信息、工作时间、工资,从城市A的社保局N上调取城市A的缴费基数,根据调取的信息生成养老保险账户。
参保人P可以拥有多个工作单位,但S只允许一个工作单位为其缴纳养老保险费用,如果有其他工作单位为其缴纳,需要其他工作单位进行减员操作才可以进行缴费。
城市A规定每月P的个人缴费比例为8%,称为个人账户,U的缴费比例为19%,称为统筹账户。
城市A的缴费基数上限为24000元,下限为3200元。
工作单位通过S将统筹账户的费用支付给N,P个人账户的缴费也由本公司代缴。
若工作单位未在30天内缴纳费用,L追究其公司的法律责任。
P月工资为25000元,则需要个人账户每月缴纳2000元,统筹账户缴纳4750元。
当P在S中申请将养老保险关系从城市A转移到城市B时,S将授权城市B的社保局M调取P的养老保险账户,M依据U是否办理停缴手续来判断是否符合转移条件。
如果U未办理停缴手续则复核失败。
如果复核成功,则N将P的养老保险账户、全部个人账户基金和全部统筹账户基金转移到M。
M建立P的参保档案,在S中接收个人账户基金、统筹账户基金、养老保险账户转移。
最终将复核数据、转移数据和接收数据存储在S中,方便以后调用。
区块链养老保险平台系统架构图
模块一:
区块链产品方案设计及系统运维(35分)
选手完成本模块的任务后,将任务中设计结果、运行代码、运行结果等截图粘贴至客户端桌面【区块链技术应用赛\重命名为工位号\模块一提交结果.docx】中对应的任务序号下。
任务1-1:
区块链产品需求分析与方案设计
养老保险平台中涉及到参保人、社保局、公安局、工作单位等参与方,他们需要在区块链养老保险平台中完成账户注册、身份上链、社保代缴、信息核查等多种业务活动。
通过对业务活动的功能分析,可以更好的服务系统的开发流程。
基于养老保险平台系统架构,以区块链养老保险平台为背景,结合账户注册、登录服务、入驻上链、保险转移、社保代缴等核心功能描述,撰写流程图/功能图、用例图等概要设计。
本任务需要依据项目背景完成需求分析与方案设计,具体要求如下:
1.依据给定区块链养老保险平台的业务流程图以及用例表,编制系统业务用例图,用例图中包含系统参与角色以及用例。
表1-1-1用例表
用例编号
用例标题
优先级
测试步骤
预期结果
测试结果
HK-TEST-01
工作单位在区块链养老保险平台上参保
高
在参保界面,工作单位可以输入员工的身份证号码,为员工办理参保
申请成功
申请成功
HK-TEST-02
区块链养老保险平台生成保险账户
高
区块链养老保险平台自动拉取参保人的基本信息、工作信息等进行核对,核对通过后,在保险账户界面为该参保人成功创建养老保险账户
创建成功
创建成功
HK-TEST-03
工作单位在区块链养老保险平台进行减员
高
工作单位在保险缴纳页面,点击减员,弹窗确认员工信息,确认无误后减员成功
减员成功
减员成功
HK-TEST-04
工作单位在区块链养老保险平台进行养老保险缴纳
高
在缴费界面,工作单位确认员工工资,点击缴费,系统判定工资与缴费基数的关系,确定缴费额度,由工作单位确认缴纳
缴纳成功
缴纳成功
HK-TEST-05
社保局在区块链养老保险平台进行保险关系转移
高
在保险管理界面,展示当前参保人的保险数据,点击转出,判断社保局的身份和权限,将参保人的保险关系转移出去
转移成功
转移成功
HK-TEST-06
社保局在区块链养老保险平台进行保险关系接收
高
在保险管理界面,展示当前参保人的转入申请数据,点击接收,为该参保人创建参保档案,将参保人的保险关系进行接收
获取申请信息
参保档案创建成功
接收成功
获取申请信息
参保档案创建成功
接收成功
2.依据给定的背景信息、区块链养老保险业务流程图以及区块链养老保险平台架构图以及给出的养老保险业务的核心流程,使用思维导图工具编制业务系统功能图;
表1-1-2养老保险平台的核心流程
缴纳养老保险流程
区块链养老保险平台根据缴费标准生成缴费协议,对协议合约进行平台签名,将协议代码广播到区块链。
获取参保人工资数据,判断费用额度。
保险关系转移流程
区块链养老保险平台将参保人身份进行验证、参保关系、停缴状态进行核查,符合则进入保险关系转移流程,向参保人保险账户、账户基金等进行转移
3.按照基础层、合约层、接口层以及应用层来设计区块链系统的架构,画出系统架构图,其中在基础层需指明需要的节点、名称、协议、存储等信息;
4.结合案例背景将区块链养老保险平台核心功能进行划分,完成下方表格中各个主要模块要实现的功能;
在空白处填写主要模块要实现的功能:
参保模块
请输入要实现的功能
缴费模块
请输入要实现的功能
保险转移模块
请输入要实现的功能
合约功能模块
请输入要实现的功能
5.根据用例设计以及下方提供好的承诺集,使用Visio工具完成区块链应用系统业务流程图;
表1-1-3承诺集
参保承诺
判断工作单位是否在平台输入正确的身份信息完成参保
生成保险账户承诺
判断参保人基本信息、工作信息是否符合缴费基数规定,是则生成养老保险账户,否则结束
减员承诺
判断参保人是否存在多家缴费单位
缴费超时承诺
判断工作单位是否在规定时间内未参保人缴纳养老保险费用
缴费承诺
判断参保人的工资是否超出了缴纳金额的上下限
转移保险关系承诺
判断参保人是否办理了停缴
整合所有内容,模块调用接口编写并形成对应的需求用例文档至【区块链技术应用赛\重命名为工位号】下。
任务1-2:
区块链系统部署与运维
子任务1-2-1:
区块链网络环境搭建
操作任务如下:
(1)打开区块链源码文件,检查区块链网络基础运行环境,通过输入命令,检查Docker环境,并确定Docker版本;
(2)打开区块链源码文件,通过输入命令,make编译区块链网络,生成区块链网络编译执行文件,请把编译执行文件截图;
(3)成功编译区块链网络后,通过输入命令,启动区块链服务;
(4)启动区块链网络后,通过输入命令,检查区块链网络状态。
子任务1-2-2:
区块链运维管理
(1)通过命令行方式,使用Docker启动管理台,启动成功后,使用IP在浏览器中,浏览管理台系统;
(2)使用超级管理员账号(admin)登录,申请链账户的证书文件;
(3)快速生成证书按钮,系统讲快速自动生成四个组织证书、四个节点证书、四个用户证书;
(4)查看链参数配置基础信息、共识信息、节点信息。
子任务1-2-3:
区块链浏览器部署合约
(1)进行区块链管理,部署智能合约;
(2)发起上链操作;
(3)调用成功后,查看交易详情。
子任务1-2-4:
搭建区块链网络监控系统
请按如下步骤,完成对系统的搭建,具体操作任务如下:
(1)通过命令行方式,在节点env.yaml配置中打开metricSwitch;
(2)配置每个target对应区块链节点的server.yaml中的metricPort端口;
(3)进入到对应目录下,通过命令行启动启动prometheus,打开区块链监控系统项目网址。
任务1-3:
区块链系统测试
(1)从源代码构建Hyperbench,并开启Hyperbench网络;
(2)在区块链上运行HyperBench,并开启区块链网络;
(3)通过SQL手工注入方法分析区块链系统漏洞,寻找环境注入点,判断注入类型并获取数据库中的信息。
模块二:
智能合约开发与测试(30分)
选手完成本模块的任务后,将任务中设计结果、运行代码、运行结果等截图粘贴至客户端桌面【区块链技术应用赛\重命名为工位号\模块二提交结果.docx】中对应的任务序号下。
任务2-1:
智能合约设计
根据职工养老保险系统需求用例文档,设计合约接口,画出各需求用例的时序图。
任务2-2:
智能合约开发
使用Solidity语言进行智能合约开发,根据需求用例文档在待补充源码中完成程序接口功能的编码,解决代码错误和警告,正确编译合约,功能调试正确,运行合约进行业务功能的验证,成功获取合约的abi,将合约部署至区块链,获取部署的合约信息,将任务中编写代码、运行截图、部署至区块链截图保存至指定位置。
子任务2-2-1:
账户管理合约编码
根据需求用例文档在待补充源码中完成账户管理合约的编码,解决代码错误和警告,正确编译合约,功能调试正确。
需要编写生成账户接口,完成从外部部门检索姓名、年龄、雇主、开始日期、工资、缴费基数,将人员信息进行综合存储功能。
待补充源码:
contractPensionAccount{
//定义用于存储人员信息的结构体
structPerson{
stringname;//姓名
uintage;//年龄
stringidNumber;//身份证号码
stringemployer;//雇主
uintstartDate;//开始日期
uintsalary;//工资
uintpaymentBase;//缴费基数
}
//定义映射,使用身份证号码作为键存储人员信息
mapping(string=>Person)publicpeople;
/***********生成账户接口开发**********/
/**********生成账户接口开发***********/
//从外部部门检索信息的函数
functionretrieveName(stringmemory)privatepurereturns(stringmemory){
//从公安部门检索姓名的代码
return"JohnDoe";
}
functionretrieveAge(stringmemory)privatepurereturns(uint){
//从公安部门检索年龄的代码
return35;
}
functionretrieveEmployer(stringmemory)privatepurereturns(stringmemory){
//从劳动部门检索雇主的代码
return"ABCCompany";
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 职业技能 比赛 高职 GZ036 区块 技术 应用 赛项赛题第 10