首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

2023年区块链职业技能大赛——区块链应用技术(一)模块一

  • 25-03-02 07:42
  • 4388
  • 6781
blog.csdn.net

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

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

1.依据给定区块链食品溯源系统的业务架构图,对考题进行业务分析,可能多的去考虑一个业务系统所需要的模块,使用Visio或思维导图工具展现本系统的基本设计概念和处理流程,要求分为区块链食品溯源业务平台和支撑平台两个部分;

参考答案:略

2.据描述,设计区块链系统的总体功能概览图.

参考答案:略

3.整合上述设计内容,完善"01系统概要设计说明书.doc",具体工作内容如下:

⚪将设计内容根据说明书中模块需要进行补充,并完善概要设计说明书中的"需求概要"

⚪完善说明书中接口说明部分内容

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

1.根据参数与端口设置要求,部署区块链系统并验证;

2.根据参数与端口设置要求,部署区块链网络管理平台并验证;

3.基于区块链系统相关管理平台,按照任务指南实施系统运维工作并验证。

4.基于区块链系统相关监管工具,按照任务指南对区块链系统进行监管.

 子任务1-2-1:搭建区块链系统并验证

  基于给定的服务器环境及软件(地址"/root/tools"),搭建一条4节点的区块链系统并验证,具体工作如下:

1.采用默认配置搭建区块链网络;

参考答案: 

(1)配置网络

命令: bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 

输出:

(2)启动节点:

命令:bash nodes/127.0.0.1/start_all.sh

输出:

 2.通过命令验证区块链节点进程运行情况

参考答案:

命令: ps -ef | grep -v grep | grep fisco-bcos

输出:

3.通过命令验证区块链连接状态和共识状态日志输出

参考答案: 

命令: tail -f nodes/127.0.0.1/node0/log/log* | grep connected

输出:

子任务1-2-2:搭建区块链系统管理平台并验证;

  给予给定服务器环境以及软件 (地址 “/root/tools”), 搭建区块链控制台并开展相关运维工作,具体工作内容如下:

 1.配置可视化平台,管理相关证书并启动

参考答案:

(1)配置控制台证书.

命令: cp -n console/conf/config-example.toml console/conf/config.toml && cp -r nodes/127.0.0.1/sdk/* console/conf/

输出:

(2)启动控制台

命令: cd console && bash start.sh

输出:

2.使用控制台安装HelloWorld智能合约

参考答案:

命令: deploy HelloWorld

输出:

 

3.使用控制台完成HelloWorld智能合约的set和get

参考答案:

(1)调用set操作

命令: call HelloWorld 0x26255782cf37d290a00efaa4ca1201b1ff9be081 set "Hello,Blockchain"

(2)调用get操作

命令:call HelloWorld 0x26255782cf37d290a00efaa4ca1201b1ff9be081 get

输出:

4.使用控制台查看区块链中的区块高度.

参考答案:

命令:getBlockNumber

输出: 

子任务1-2-3:区块链节点运维. 

  基于已经完成的区块链系统与管理平台搭建工作,开展区块链节点的加入与退出运维工作,具体工作如下:

  1.获得区块链节点输出登记为警告级,并设置日志存储阈值为100MB并验证

参考答案:

(1)修改配置文件: vi node0/config.ini

 (2)重新启动节点node0,使配置文件生效

命令:bash node0/stop.sh && node0/start.sh 

输出:

2.通过给定的工具(地址/root/tools)完成对新节点(node4)的配置

参考答案: 

(1)使用gen_node_cert.sh 生成新节点node4

命令: bash gen_node_cert.sh -c nodes/cert/agency- o node4

输出:

(2)将新节点node4 复制到节点群nodes目录下

命令:cp -r bash ./node4 nodes/127.0.0.1/

输出:

(3)将新节点node0的文件复制到节点群node4目录下

 命令:cd nodes/127.0.0.1/ && cp node0/config.ini node0/start.sh node0/stop.sh node4/

 输出:

(4)修改node4/config.ini

对于[rpc]模块,修改 channel_listen_port和jsonrpc_listen_port;

对于[p2p]模块,修改listen_port并在node中增加自身节点信息

命令:vi node4/config.ini

输出:

(5)复制群组配置信息

命令: cp node1/conf/group.1.genesis node4/conf/ && cp  node1/conf/group.1.ini node4/conf

输出:

3.启动新节点加入区块链系统并验证

参考答案:

命令:cd node4 && bash stop.sh && bash start.sh 

(2) 检查新节点连接情况

命令:tail -f node4/log/log* | grep P2P

子任务1-2-4:区块链网络运维 

  根据任务描述要求,完成网络配置与管理运维操作,具体内容如下:

1.设置区块链系统黑名单,将node3设为黑名单禁止连接,并验证

参考答案:

(1)查看node0节点的连接状态日志(现有4个节点连接)

命令:tail -f node0/log/log* | grep connected

输出:

(2)编辑节点node0的config.ini文件,将node3加入黑名单里面

命令:vi config.ini

编辑certficate_blacklist,设置node3节点ID为黑名单

 

(3)重新启动节点

命令:bash node0/stop.sh && bash node0/start.sh

输出:

(4)查看node0的节点连接状态日志(现有3个节点连接)

命令:tail -f node0/log/log* | grep connected 

输出:

(5)重复操作(1)-(4),验证节点配置数量 

(6)重复操作(1)-(4),完成节点node2的配置与验证

 

(7)重复操作(1)-(4),完成节点node4的配置与验证

 

2.设置系统中区块打包数量为2000

参考答案:

(1)启动控制台:命令:bash start.sh 

 

(2)设置区块打包数量为2000

命令:setSystemConfigByKey tx_count_limit 2000

输出:

 

3.验证区块打包数量

 参考答案:

命令:getSystemConfigByKey tx_count_limit

输出:

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

  设计对区块链系统的测试流程,结合实际业务需求,调用部署的智能合约中进行系统测试,性能测试等;根据业务需求,分析并且修复给定智能合约中的安全漏洞.利用模拟业务和测试工具来完成对区块链系统服务数据的测试.

1.使用命令启动区块链系统可视化一体平台并验证启动情况

参考答案:

命令:python3 deploy.py startAll

      实现基于浏览器测试启动情况验证(访问地址http://{服务器IP}:5000)

 

 2.通过可视化平台生成包括生产商(producer)、经销商(distributor)、零售商(retailer)账户,并将账户以p12加密形式导出后倒入指定前置可视化平台,验证地址一致性.

参考答案:

(1)验证producer地址的一致

(2)验证distributor地址的一致 

 

(3)验证retailer地址的一致

 

3.使用postman对上述功能接口进行验证,并进行验证结果截图提交工程文档.

  1.   ⚪对食品安全溯源系统服务端“添加食品”(/produce)功能接口进行验证,并将验证结果截图提交工程文档

请求路由:          /produce        
请求方法:         POST
输入项说明:
输入项                类型说明
traceNumberString追踪编号
foodNameString食品名称
traceNameString存证人信息
qualityInteger食品质量

输出项说明:
输出项       类型说明
retInterger返回值
msgString

返回消息,“success”表示操作成功

 参考答案:

使用Postman正确操作如下:

4.  参照工程项目(地址: “/root/projects”)使用Calipers测试工具对食品安全溯源系统智能合约生成新食品(newFood) 功能进行压力测试。具体要求如下:

    ⚪  提供核心测试代码。

参考答案:

(1)config.yaml 核心代码

(2)newFood.js核心代码

 

 ⚪ 设置txNumber=10,tps=1,所有测试通过率为100%

参考答案:

命令:npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/trace/config.yaml --caliper-networkconfig networks/fisco-bcos/test-nw/fisco-bcos.json

输出:

 report.html

5.智能合约安全漏洞测试.

参考答案:略 

注:本文转载自blog.csdn.net的zzzLucky7的文章"https://blog.csdn.net/LuckyS7/article/details/133578444"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

136
区块链
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top