基于区块链溯源系统后端开发

摘要

已经完成了育种组织、养殖户组织、政府职能、普通用户的链码编写及后端接口编写,前三个组织均可添加数据及查询数据,且支持富查询,同时还可进行登录注册操作,普通用户则只可以进行查询溯源操作。总的Api路由组如下图:
在这里插入图片描述
但仍旧存在问题,当开启7个区块链节点容器时,初始化链码后,会有一定随机性down掉两个区块链节点容器(不固定down掉某两个特定容器),于是我撤掉了两个容器,只开5个区块链节点容器,此时不再有容器down掉,但是偶尔会有节点容器与go sdk创建的客户端断开连接后又重连,而且发送交易时,速度缓慢,还有时会失败。根据推测,较大可能是虚拟机性能不足导致的。第二章我会介绍并测试各组织接口,只以两个组织为例,因为其他的都是一样的规范。


一、程序各模块功能简介

1.1 goSdk0_1

在这里插入图片描述

  1. 解决Cors跨域问题的中间件
  2. go sdk创建客户端操作区块链的配置文件
  3. Fabric Info,存放model结构体的文件
  4. main函数文件
  5. 路由组执行函数的文件,主要是调用start.go文件中函数来实现操作逻辑。
  6. 底层函数的文件。因为这里的函数可以复用,故叫底层函数。

1.2 org_chaincode

链码文件
在这里插入图片描述

  1. main.go
    最核心的是Invoke函数,根据fun执行特定的链码函数并传入参数args。
    在这里插入图片描述
  2. controller.go
    所有的链码函数,都在这
  3. modle.go
    保存数据的结构体。
    在这里插入图片描述

二、各接口功能详细介绍

2.1 Generate(育种组织)

2.1.1 添加数据

请求地址:127.0.0.1:6060/generate/addData
请求方式:POST
功能:添加数据,添加成功则返回的err为空(如下图),否则返回错误类型。
在这里插入图片描述

2.1.2 查询数据(某只鸡最新的世界状态)

请求地址:127.0.0.1:6060/generate/queryData
请求方式:GET
功能:指定ID和Batch,查询指定凤鸡的最新状态。
在这里插入图片描述

2.1.3 溯源查询

请求地址:127.0.0.1:6060/generate/queryHistoryData
请求方式:GET
功能:溯源函数,查询指定凤鸡所有的改动。
在这里插入图片描述

2.1.4 汇总查询

请求地址:127.0.0.1:6060/generate/queryDataByStateBatch
请求方式:GET
功能:查询当前组织指定批次,所有活鸡。
在这里插入图片描述

2.1.5 注册

请求地址:127.0.0.1:6060/generate/registry
请求方式:POST
功能:当前组织用户注册,注册成功则返回注册用户的信息。
在这里插入图片描述

2.1.6 登录

请求地址:127.0.0.1:6060/generate/login
请求方式:GET
功能:输入用户,密码进行登录,登录成功则返回该账号的身份信息,否则返回错误。
在这里插入图片描述

2.2 Breed(养殖户组织)

2.2.1 添加数据

请求地址:127.0.0.1:6060/breed/addData
请求方式:POST
功能:添加数据,添加成功则返回的err为空(如下图),否则返回错误类型。
在这里插入图片描述

2.2.2 查询数据(某只鸡最新的世界状态)

请求地址:127.0.0.1:6060/breed/queryData
请求方式:GET
功能:指定ID和Batch,查询指定凤鸡的最新状态。
在这里插入图片描述

2.2.3 溯源查询

请求地址:127.0.0.1:6060/breed/queryHistoryData
请求方式:GET
功能:溯源函数,查询指定凤鸡所有的改动。
在这里插入图片描述

2.2.4 汇总查询

请求地址:127.0.0.1:6060/breed/queryDataByStateBatch
请求方式:GET
功能:查询当前组织指定批次,所有活鸡。
在这里插入图片描述

2.2.5 注册

请求地址:127.0.0.1:6060/breed/registry
请求方式:POST
功能:当前组织用户注册,注册成功则返回注册用户的信息。
在这里插入图片描述

2.2.6 登录

请求地址:127.0.0.1:6060/breed/login
请求方式:GET
功能:输入用户,密码进行登录,登录成功则返回该账号的身份信息,否则返回错误。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sunningzhzh/article/details/124236806