2023年安徽省职业院校技能大赛(高职组)“区块链技术应用”赛项竞赛任务书

2023年安徽省职业院校技能大赛(高职组)“区块链技术应用”赛项竞赛任务书

目录

2023年安徽省职业院校技能大赛(高职组)“区块链技术应用”赛项竞赛任务书

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

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

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

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

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

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

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

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

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

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

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


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

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

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

本任务需要依据项目背景完成需求分析与方案设计,具体要求如下:

区块链食品安全溯源平台中涉及消费者、生产方等多个参与方。不同的参与方在食品溯源安全平台中有着不同的业务活动。通过对不同用户群体业务活动的进行分析,可以更好的服务系统的开发流程。基于食品安全溯源业务概览图,结合背景和团队思考,撰写流程图/功能图、用例图等概要设计。

本任务需要依据项目背景完成需求分析与方案设计,具体要求如下:

  1. 根据项目给定的背景描述和食品安全溯源业务概览图,对食品溯源系统进行分析,编制系统业务UML用例图,用例图中包含系统参与角色以及用例。

(1)用户群体及需求分析

(2)UML用例图

  1. 依据给定的背景信息、食品安全溯源业务概览图以及给出的区块链食品安全溯源平台的核心流程,使用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)编写超市进行食品上链信息的接口,根据食品溯源智能合约地址获取超市上链食品信息。

  1. 食品溯源(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

    }

......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/578755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ai】阿里云 大模型 api 聚合平台 dashscope

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 快速调用 前提条件 已开通服务并获得API-KEY:开通DashScope并创建API-KEY。 已安装最新版SDK:安装DashScope SDK。 DashScope灵积模型服务建立在“模型即服务”(Model-a…

云仓酒庄的品牌雷盛红酒LEESON分享干红是纯葡萄酿造的吗?

干红是一种葡萄酒的简称,全称是干型红葡萄酒。葡萄酒按含残糖量分为干型、半干型、半甜型和甜型。无论什么型的酒,只要是葡萄酒,那就是葡萄酿造的。 云仓酒庄的品牌雷盛红酒LEESON分享干红是葡萄酒的一种,而葡萄酒却不止干红一种…

【RocketMQ笔记01】安装RocketMQ消息队列运行环境

这篇文章,主要介绍如何安装RocketMQ消息队列运行环境。 目录 一、RocketMQ消息队列 1.1、下载RocketMQ 1.2、解压安装包 1.3、配置RocketMQ环境变量 1.4、修改启动脚本 1.5、启动RocketMQ (1)启动NameServer (2&#xff0…

HarmonyOS共享包HAR

共享包概述 OpenHarmony提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包。 HAR与HSP都是为了实现代码和资源的共享,都可以包含代码、C库、资源和配…

Salesforce推出Trailblazer就业市场,让求职更简单!

12月14日,Salesforce宣布推出Trailblazer就业市场(Trailblazer Career Marketplace),这是一个新的人才中心,也是Trailhead的扩展。Trailblazer就业市场致力于将数据、人工智能和CRM领域的专业人士与Salesforce生态系统…

CentOS8+宝塔面板+cpolar内网穿透搭建可公网访问的Typecho个人站点

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 Typecho是由type和echo两个词合成的,来自于开发团队的头脑风暴。Typecho基于PHP5开发,支持多种数据库&#…

Flutter windows 环境配置

Flutter windows 环境配置 从零开始,演示flutter环境配置到启动项目,同时支持 vscode 和 android studio 目录 Flutter windows 环境配置一、环境配置1. Flutter SDK2. Android Studio3. JDK4. 拓展安装5. Visual Studio 2022二、项目创建和启动1. vsco…

Ansys Lumerical | 带2D输出耦合器的出瞳扩展器的优化

附件下载 联系工作人员获取附件 本文提出并演示了一种以二维光栅为外耦合器的出瞳扩展器(EPE)系统的仿真方法,并给出了优化和公差分析的实例。 在此工作流程中,我们使用 Lumerical 构建光栅模型,并使用 RCWA 求解器模…

ubuntu18设置开机自启动

项目需求:机器人开机上电后工控机首先运行机械臂控制代码,再运行算法代码 1.终端执行以下代码 gnome-session-properties 2.设置开机自启动选项 在弹出界面点击添加,名称随便填,命令填入要启动的脚本,注释随便填。 …

【CAD二次开发】如何通过lsp实现dll程序的自动加载

通常我们在收到一个dll格式的CAD插件的时候会通过NETLOAD手动加载,这个缺点是每次重启CAD后都需要再加载dll插件; 有没有什么方法可以实现dll插件的自动加载呢; 答案是有,下面我们分享几种简单的方法实现dll的自动加载; 方法1&…

nginx: [error] open() “/var/run/nginx/nginx.pid“ failed (2: No such file or directory)

该错误消息通常表示 Nginx 在启动过程中无法找到指定路径的日志文件或进程号文件。 我这边是因为服务器断电,导致该问题 这个问题可能有几种原因和解决方法: 1. 确保 Nginx 配置文件中的日志路径正确。在 Nginx 配置文件中查找 error_log 和 pid 配置指…

密码学学习笔记(二十三):哈希函数的安全性质:抗碰撞性,抗第一原象性和抗第二原象性

在密码学中,哈希函数是一种将任意长度的数据映射到固定长度输出的函数,这个输出通常称为哈希值。理想的哈希函数需要具备几个重要的安全性质,以确保数据的完整性和验证数据的来源。这些性质包括抗碰撞性、抗第一原象性和抗第二原象性。 抗碰…

MidJourney笔记(9)-daily_theme-docs-describe

/daily_theme 切换 #daily-theme 频道更新的通知。 但我发现在对话框那里,是没有这个命令的: 但官网是有介绍,不知道是不是版本问题还是这个命令已经无效。 但后来,我发现这个命令是要在Midjourney服务对话框那里才有,在我们后面添加的Mid

测试C#使用AForge从摄像头获取图片

百度“C# 摄像头”关键词,从搜索结果来看,使用OpenCV、AForge、window动态链接库获取摄像头数据的居多,本文学习基于Aforge.net连接摄像头并从摄像头获取图片的基本方法。   AForge相关包(尤其是相关的控件)主要针对…

计算机网络简述

前言 计算机网路是一个很庞大的话题。在此我仅对其基础概述以及简单应用进行陈述。后续或有补充以形成完善的计算机网络知识体系。 一.计算机网络的定义 根据百度词条的描述,计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过…

智能优化算法应用:基于减法平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于减法平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于减法平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.减法平均算法4.实验参数设定5.算法结果6.…

OKCC语音机器人的人机耦合来啦

目前市场上语音机器人的外呼形式基本就分为三种,一种纯AI外呼,第二种也是目前主流的AI外呼转人工。那么第三种也可能是未来的一种趋势,人机耦合,或者也叫人机协同。 那么什么是人机耦合呢? 人机耦合是为真人坐席创造相…

跟着LearnOpenGL学习11--材质

文章目录 一、材质二、设置材质三、光的属性四、不同的光源颜色 一、材质 在现实世界里,每个物体会对光产生不同的反应。 比如,钢制物体看起来通常会比陶土花瓶更闪闪发光,一个木头箱子也不会与一个钢制箱子反射同样程度的光。 有些物体反…

K8S的二进制部署

K8S的源码包部署 搭建准备: k8smaster01:20.0.0.32 kube-apiserver kube-controller-manager kube-scheduler etcdk8smaster02:20.0.0.33 kube-apiserver kube-controller-manager kube-scheduler node节点01:20.0.0.34 …

二分查找及其复杂的计算

(一)二分查找及其实现 二分查找,也称为折半查找,是一种高效的搜索算法,用于在有序数组(或有序列表)中查找特定元素的位置。 二分查找的基本思想是将待查找的区间不断地二分,然后确…