注意事项
- 已经备份了一个配置fabric的完整ubuntu系统,其需要注意的细节如下
- 1,此镜像系统需要配置host文件,sudo vim /etc/hosts,添加如下内容127.0.0.1 orderer.example.com peer0.org1.example.com peer1.org1.example.com peer0.org2.example.com peer1.org2.example.com
- 2,使用docker ps -a 查看现在执行环境所处的状态,如果是exit表示执行环境已经挂线,需要清除数据,重新启动,使用 ./byfn.sh down 删除数据
- 执行环境所处的目录地址:cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network
- 3,正确性验证,./byfn.sh up,出现start表示验证开启,出现end表示验证结束,没有错误,正确执行。如果有错,需要根据错误信息进行修改。验证通过之后,再次 使用./byfn.sh down 删除数据
- 4,更换启动方式,启动之前需要先使用./byfn.sh generate生成相应的证书文件。
- # 启动order、peer、ca节点 docker-compose -f docker-compose-e2e.yaml up -d
# 启动cli节点 docker-compose -f docker-compose-cli.yaml up -d
# 创建通道和部署测试合约(再次验证是否有问题,其结果和./byfn.sh up保持一致)
docker exec cli scripts/script.sh mychannel 3 golang 10 false - 一般不需要关闭,直接将系统挂起即可,每次关闭都是要替换证书的
- cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network
# 关闭order、peer、ca节点
docker-compose -f docker-compose-e2e.yaml down
# 关闭cli节点
docker-compose -f docker-compose-cli.yaml down
1,windows修改host
- host存储路径 C:\Windows\System32\drivers\etc
- 选中文件,点击属性,修改只读模式
# 192.168.253.130 为搭建区块链的服务器的地址,需要根据实际情况修改
192.168.253.130 orderer.example.com peer0.org1.example.com peer1.org1.example.com peer0.org2.example.com peer1.org2.example.com
Windows系统如何修改Hosts文件_达文西不辅助的博客-CSDN博客_如何修改hosts
2,准备证书文件
- 将区块链服务器上的证书文件copy到本地项目中以便使用:从 (虚拟机)/home/ubuntu/gopath/src/github.com/hyperledger/fabric-samples/first-network/crypto-config 复制到:(win;部署代码的机器)src/main/resources/file/fabric/crypto-config目录
- 使用winscp实现win和ubuntu之间的文件传输,但是,需要先修改ubuntu的ssh传输设置,因为涉及到证书文件,因此需要root权限
3,修改Java配置文件
- 修改 src/main/java/com/springboot/config/PathConf.java的org1KeyFileName和org2KeyFileName
- * org1KeyFileName:变量值为文件名,文件位于"resources/file/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore"目录下
- * org2KeyFileName:变量值为文件名,文件位于"resources/file/fabric/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore"目录下
- 修改src/main/resources/application.yml文件中的TODO注释部分
- 配置Redis的地址(ubuntu地址)、端口号(默认是6379),密码 kingredis
4,检查Redis状态
- 执行service redis status 可以查看redis服务的状态为running,说明安装完成系统自动启动了服务。否则执行命令/etc/init.d/redis-server start
- 如果出现如下问题,需要重启 redis
- 出现以下界面,意味着 redis正常
5,启动代码
- 打开ys-file-manage文件夹,项目结构
6,安装和实例化链码
- 程序启动之后,在浏览器输入如下 网址,进行安装和实例化链码
- http://localhost:8089/FileManage/admin/chaincodeView
- 链码名输入 admininfo ,链码版本输入 1.0.0,点击安装合约,网页出现弹窗,表示init success,再次点击 实例化合约,出现success表示 实例化成功
- 接着在链码名输入框输入departInfo,链码版本保持不变,依次点击安装和实例化合约
- 继续输入 recordAdmin、recordAuth 等
7,系统管理员注册
- 链接:http://localhost:8089/FileManage/admin/insertAdminInfoView
- 注册成功后会返回登陆ID,使用此ID作为用户名,设置的密码作为登陆密码进行登录
- 提示:代码健壮性不强,所以最好所有输入框都要输入内容,否则可能会有想不到的bug