2023年江西省职业院校技能大赛区块链技术应用赛项样题

2023 年江西省职业院校技能大赛区块链技术应用赛项样题

区块链交流裙:976464164

背景描述
随着消费需求的不断变化,消费者对食品安全的关注度越来越高,希望能参与食品供应链管理,让每个环节都透明化。但传统的供应链管理依靠纸张记录,保存数据具有随意性,消费者无法确认其真实性。此外,传统管理模式中心化,多数环节间信息流通不畅,影响供应链管理效率。因此,供应链管理面临效率和安全透明的双重挑战,迫切需要有效变革,促进食品供应链更高效、透明和安全。 从技术层面来看,区块链技术具有去中心化、公开透明、不可篡改等优点,可解决食品供应链短板,与现行管理相结合,不仅可提升透明度,还可提升管理效率。 通过构建基于区块链技术的食品安全溯源平台,有效将包括生产日期、生产产地、生产商、流通企业等食品安全溯源相关信息通过区块链去中心 化的方式存储,有效保证了数据真实以及不可篡改。另一方面,借助区块链智能合约技术,灵活设计食品安全溯源相关业务,在确保数据安全的前提下实现透明公开,在此基础上引入监管机制有效保证业务良性开展。

在这里插入图片描述

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

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

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

本任务需要依据项目背景完成需求分析与方案设计,具体要求如下:
区块链食品安全溯源平台中涉及消费者、生产方等多个参与方。不同的参与方在食品溯源安全平台中有着不同的业务活动。通过对不同用户群体业务活动的进行分析,可以更好的服务系统的开发流程。基于食品安全溯源业务概览图,结合背景和团队思考,撰写流程图/功能图、用例图等概要设计。
本任务需要依据项目背景完成需求分析与方案设计,具体要求如下:
1.根据项目给定的背景描述和食品安全溯源业务概览图,对食品溯源系统进行分析,编制系统业务 UML 用例图,用例图中包含系统参与角色以及用例。
(1)用户群体及需求分析
(2)UML 用例图

2.依据给定的背景信息、食品安全溯源业务概览图以及给出的区块链食品安全溯源平台的核心流程,使用 Visio 或思维导图工具编制总体功能概览图;

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

围绕食品安全溯源区块链平台部署与运维需求,进行项目相关系统、节点以及管理工具的部署工作。通过监控工具完成对网络、节点服务的监控。最终利用业务需求规范,完成系统日志、网络参数、节点服务等系统结构的维护,具体要求如下:
1.根据参数与端口设置要求,部署区块链系统并验证;

2.根据参数与端口设置要求,部署区块链网络管理平台并验证;
3.基于区块链系统相关管理平台,按照任务指南实施系统运维工作并验证;
4.基于区块链系统相关监管工具,按照任务指南对区块链系统进行监管。子任务 1-2-1: 搭建区块链系统并验证
基于给定服务器环境以及软件(地址“/root/tools”),搭建一条 4 节点的区块
链系统并验证,具体工作内容如下:
(1)采用默认配置搭建区块链网络;
(2)通过命令验证区块链节点进程运行状况;
(3)通过命令验证区块链连接状态和共识状态日志输出。子任务 1-2-2:搭建区块链系统管理平台并验证
基于给定服务器环境以及软件(地址“/root/tools”),搭建区块链控制台并开
展相关运维工作,具体工作内容如下:
(1)配置控制台,管理相关证书并启动;
(2)使用控制台安装 HelloWorld 智能合约;
(3)使用控制台完成 HelloWorld 智能合约的 set 与 get 操作;
(4)使用控制台查看区块链中区块高度。

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

设计对区块链系统的测试流程;结合实际业务需求,调用部署的智能合约中进行系统测试、性能测试等;根据业务需求,分析并且修复给定智能合约中的安全漏洞。利用模拟业务和测试工具来完成对区块链系统服务数据的测试。
1.基于 WeBASE 的部署脚本完成 WeBASE 环境搭建以及搭建结果验证,最后将执行
结果截图保存。
(1)实现 WeBASE 平台部署;
(2)实现 webase.sgin 功能启动情况验证;
(3)webase-node-mgr 进程启动情况验证和浏览器验证。

模块二:智能合约开发与测试(30 分)

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

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

根据区块链食品溯源产品需求分析和设计文档的描述,编写该区块链产品的智能合约功能需求文档,设计该智能合约设计图。具体要求如下:
1.完成区块链食品溯源智能合约的设计图
设计区块链食品溯源智能合约接口,画出区块链食品溯源各智能合约关系的 UML 时序图。

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

使用 Solidity 语言完成智能合约开发、部署和调用,要求如下:
1.食品信息(FoodInfoItem)的接口编码
(1)编写食品信息实体的接口,完成可溯源食品信息初始化,实现可追溯的原始生产商食品信息上链功能;

表 2-2-1 FoodInfoItem 实体说明
名称说明
_currentTraceName当前用户名
_name食品名称
_owner合约的创建者
_quality质量
_status状态
_traceName用户名
_timestamp流转时间戳
_traceAddress用户地址
_traceQuality食品质量

(2)编写分销商食品上链信息接口,根据食品溯源智能合约地址获取分销商上链食品的信息;
(3)编写超市进行食品上链信息的接口,根据食品溯源智能合约地址获取超市上链食品信息。
2.食品溯源(Trace)的接口编码
(1)编写食品溯源智能合约生产商 Producer 添加食品接口,必须生产商才能添加可溯源的食品,实现溯源功能;
(2)编写食品溯源智能合约分销商 Distributor 添加食品接口,必须分销商才能添加可溯源的食品,实现溯源功能;
(3)编写食品溯源智能合约超市 Retailer 添加食品接口,必须超市才能添加可溯
源的食品,实现溯源功能。

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

子任务 2-3-1:基于 Web 前置平台的合约测试
1.解决代码错误和警告,正确编译并部署合约,成功获取部署的合约地址和 abi。
2.调用食品和物流合约接口食品信息(FoodInfoItem)的接口编码、食品溯源 (Trace)的接口编码、角色(Role)管理的接口编码的测试

模块三:区块链应用系统开发(30 分)

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

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

1.请基于前端系统的开发模板,在登录组件 login.js、组件管理文件 components.js中添加对应的逻辑代码,实现对前端的角色选择功能,并测试功能完整性,示例页面如下:
在这里插入图片描述
具体要求如下:
(1)有明确的提示,提示用户选择角色;
(2)用户可看到四个不同的角色可选(生产商、中间商、超市、消费者);
(3)每个用户所对应的组件请在 components 中找寻并填入;
(4)页面顶部要有食品溯源平台的网站标题和 logo。

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

1.请基于已有的项目,开发完善 IndexController 类,编写添加食品生产信息的方法,实现食品信息的添加功能,并测试功能完整性。
本任务具体要求如下:
(1)开发文件 IndexController.java 中的 produce 方法,请求接口为/produce;
(2)开发文件 IndexController.java 中的 produce 方法,要求对前端传入的参数进行二次验证;
(3)开发文件IndexController.java 中的produce 方法,要求封装返回值为String,但不返回视图页面。
produce 方法:
/**

添加食品生产信息
*traceNumber: 食品溯源 id,食品溯源过程中的标识符
*foodName: 食物名称
*traceName: 用户名,食品流转过程各个阶段的用户名
*quality: 当前食品质量(0=优质 1=合格 2=不合格)
*@return:添加食品生产信息结果
*/
public String produce(@RequestBody JSONObject jsonParam) {
//TODO

  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺仔Sec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值