代码是关于基于fabric区块链的医疗数据共享系统,具体的代码放在了github上:https://github.com/vincy-ch/medicalDataSharing
一、运行步骤以阿里云环境,介绍代码具体使用:
首先要把fabric1.4环境装好,具体可以见这个博客进入阿里云后,下载代码到文件夹每次重新启动阿里云服务器都需要注释下面这句话,否则网络会启动失败vi /etc/resolv.conf
# 注释掉下面这句话
options timeout:2 attempts:3 rotate single-request-reopen
清理环境,为防止之前启动的容器和网络影响这次运行,首先要删除之前的容器和网络,进入目录medical-data后:
# 查看容器
docker ps
# 清理容器
docker rm -f $(docker ps -aq) # 或者直接调用 ./stopFabric.sh
# 查看网络
docker network ls
# 清理网络
docker prune
进入目录medical-data,执行启动脚本
./startFabric.sh java
启动区块链网络的时候,可以通过下面这个命令查看所有容器的日志,最好是另外打开一个窗口看日志
进入目录commercial-paper/organization/magnetocorp/configuration/cli,输入下面的命令,可以同时汇总并监视各个容器的日志
./monitordocker.sh net_byfn
当出现下面这段话后,说明区块链网络启动成功,而且链码安装并初始化成功
启动服务端
cd java
mvn test
这样就是服务端启动成功了
这个网址可以看到数据库,最下面就是我们新建的目录,链码在初始化的时候,创建了100个用户
访问参数可以看medicalDataSharing\fabric\scripts\fabric-samples\medical-data\java\src\main\java\org\example\HttpServer.java文件里对参数的解析
访问方法有两种,第一种是直接通过输入url访问,如下图:
第二种是通过代码访问,具体代码在medicalDataSharing\fabric\scripts\fabric-samples\medical-data\java\src\main\java\org\example\HttpClient.java,把url替换成自己阿里云的url就可以了,直接运行main函数,下图是运行了创建用户的方法,返回了用户的id是100
代码是关于基于fabric区块链的医疗数据共享系统,系统中主要有两个模块,加密魔模块和区块链模块:
区块链有分为两个组织,共识机制采用的是kafka
加密使用的是cp-abe,是在此人源码的基础之上,加了三个功能:
对文件分级解密将访问策略分为两级,低敏感数据的访问策略对应最左边树,高敏感数据访问策略对应中间的树,将他们合并为最右边的访问树,根节点使用2of2连接。合并之后,以根节点为根的树是高敏感访问树,以左孩子节点为根的树是低敏感访问树。有时候也可以合并为根节点是1of2,这时以根节点为根的树是低敏感访问树,以左孩子节点为根的树是高敏感访问树。
整个加密步骤:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)