学历认证

功能描述

智能合约实现了一个简单的征信管理的案例。针对于学历认证领域,由于条约公开,在条

约外无法随意篡改的特性,天然具备稳定性和中立性。

该智能合约中三种角色如下:

  • 学校

  • 个人

  • 需要学历认证的机构或公司

学校可以根据相关信息在区块链上为某位个人授予学历,相关机构可以查询某人的学历信 息,由于使用私钥签名,确保了信息的真实有效。 为了简单,尽量简化相关的业务,另未完成学业的学生因违纪或外出创业退学,学校可以修改其相应的学历信息。

账户私钥应该由安装在本地的客户端生成,本例中为了简便,使用模拟私钥和公钥。

链码示例四:学历认证

数据结构设计

学校

  • 名称

  • 所在位置

  • 账号地址

  • 账号公钥

  • 账户私钥

  • 学校学生

个人

  • 姓名

  • 账号

  • 地址

  • 过往学历

学历信息

  • 学历信息编号

  • 就读学校

  • 就读年份

  • 完成就读年份

  • 就读状态 //0:毕业 1:退学

修改记录(入学也相当于一种修改记录)

  •  编号

  • 学校账户地址(一般根据账户地址可以算出公钥地址,然后可以进行校验)

  • 学校签名

  • 个人账户地址

  • 个人公钥地址(个人不需要公钥地址) 修改时间

  • 修改操作//0:正常毕业 1:退学 2:入学

对学历操作信息所有的操作都归为记录。

function及各自实现的功能

  •   init 初始化函数,并创建一所学校

  •   invoke 调用合约内部的函数

  •   query 查询相关的信息

  •   updateDiploma 由学校更新学生学历信息,并签名(返回记录信息) invoke

  •   enrollStudent 学校招生(返回学校信息) invoke

  •   createSchool 添加一名新学校 init

  •   createStudent 添加一名新学生 init

  •   getStudentByAddress 通过学生的地址访问学生的学历信息 query

  •   getRecordById 通过Id获取记录 query

  •   getRecords 获取全部记录(如果记录数大于10,返回前10个) query

  •   getSchoolByAddress 通过地址获取学校的信息

  •   getBackgroundById 通过地点获取所存储的学历信息

  •   writeRecord 写入记录

  •   writeSchool 写入新创建的学校

  •   writeStudent 写入新创建的学生

接口设计

  createSchool

request参数:

args[0] 学校名称

args[1] 学校所在位置

response参数:

  createStudent

request参数:

args[0] 学校名称

args[1] 学校所在位置

response参数:

args[0] 学生的姓名

  updateDiploma


request参数

学生信息的json表示,刚创建过往学历信息列表为空

response参数

args[0] 学校账户地址args[1] 学 校 签 名args[2] 待修改学生的账户地址

  enrollStudent

request参数:

返回修改记录的json表示

response参数

args[0] 学校账户地址

args[1] 学校签名

args[2] 学生账户地址

  getStudentByAddress

request参数

返回修改记录的json表示

response参数

args[0] address

  getRecordById

request参数

学生信息的json表示

response参数

 args[0] 修改记录的ID

  getRecords

response参数

获取修改记录数组(如果个数大于10,返回前10个)

  getSchoolByAddress

request参数

args[0] address

response参数

学校信息的json表示

  getBackgroundById

request参数

args[0] ID

response参数

学历信息的json表示

测试

玖壹区块链声明

加微信:469649885区块链培训教程
还可免费获取区块链培训班试学名额

分享:

扫一扫在手机阅读、分享本文

区块链评论

玖壹区块链培训

玖壹区块链培训学院简称(玖壹学院http://www.91xiubbs.com/)提供区块链技术培训资料、区块链开发培训视频教程等下载,不过网上自学区块链技术课程必然存在一些缺陷:遇到问题易卡壳、学习周期漫长、无针对性等。区块链培训机构现场面对面的讲授区块链培训课程可以让您和团队在最短时间内掌握正确、系统、高效的区块链实战技术。