fabric-electricity项目介绍

fabric-electricity


项目为前后分离项目
1、前端(front-end)

  • 基于 vue-admin-template 开发
  • 根据github上的学生信息管理系统修改得到的一个网页,目前还没有修改完成后续会继续对项目进行补全。

2、后端(rear-end)

  • go-gin
  • Hyperledger-Fabric
一、系统预览

1、查看电力信息
电力信息
2、查看市场信息
市场信息

3、查看订单信息
请添加图片描述

4、查看交易信息
请添加图片描述

二、源码获取

https://github.com/MoonShinesSeas/fabric-electricity.git

三、运行代码
  • 前端
    1、git clone https://github.com/MoonShinesSeas/fabric-electricity.git
    2、cd application
    3、npm install
    4、npm run dev
    5、浏览器访问 http://localhost:9528

Build Setup

# 克隆项目
git clone https://github.com/MoonShinesSeas/fabric-electricity.git

# 进入项目目录
cd application

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 启动服务
npm run dev

浏览器访问 http://localhost:9528

发布

# 构建测试环境
npm run build:stage

# 构建生产环境
npm run build:prod

其它

# 预览发布环境效果
npm run preview

# 预览发布环境效果 + 静态资源分析
npm run preview -- --report

# 代码格式检查
npm run lint

# 代码格式检查并自动修复
npm run lint -- --fix

这是一个 gin 后台。

Build Setup

# 克隆项目
git clone https://github.com/MoonShinesSeas/fabric-electricity.git

# 进入项目目录
cd server

# 安装依赖
go mod tidy

# 启动服务
go run main.go

程序顺利执行的话,可以看到
后台
其中的sm2同态加密是基于
http://www.jcr.cacrnet.org.cn/CN/10.13868/j.cnki.jcr.000532
实现的,论文中使用了一种门限解密,我采用了简单的大小步算法解密,这种解密算法主要基于密钥的安全性了。

这区块链的智能合约

由于之前的修改导致项目出现一些难以理解的部分,以及逻辑上的错误,后续会对这个项目继续补全;

区块链可以用于供应链、金融等多个方面;

联盟链可以实现接入区块链的网络受到控制,不像公有链一样的公开,但是私有链内部也是一样的公开信息;

由于gin后端使用的是sm2环签名和对交易签名,而联盟链的注册是向CA申请一个证书,证书中包含用户的密钥,所以需要一个可以分发国密证书的CA,但是Fabric的国密改造项目运行的一言难尽,Fabric链码可以启动,但是Fabric-gm-sdk-go无法运行,在Vone-Chain项目下提交的issue也无疾而终,所以目前的解决办法就是将密钥先保存到本地,以待后续解决fabric-gm-go-sdk连接fabric的问题,再将功能转为CA上;但是普通的向CA注册在我的另一个项目Fabric-electricity-java中有实现,当时没有实现网页,只是实现了后端和链码;

Build Setup

# 克隆Fabric-samples项目
git clone https://github.com/hyperledger/fabric-samples.git

cd fabric-samples

git checkout release-2.2

git branch

# 这一步将会出现很多问题,但是在ubuntu中下载一个Clash然后打开代理就能够下载,但是下载过程中突然卡住不动,建议Ctrl+c暂停,再重新开始,配置基础环境对新手很折磨
curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.0 1.4.7 0.4.18
# 克隆项目
git clone https://github.com/MoonShinesSeas/fabric-electricity.git

# 移动项目目录,将chaincode_go移动到fabric-samples/asset-transfer-basic下

# 安装依赖
go mod tidy
go mod vendor

#进入test-network文件夹
cd test-network

#运行项目,这个脚本需要从项目复制到test-network目录下,并赋予权限
sudo chmod -R +x ./start.sh
./start.sh

执行成功是这样的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值