[x] 前言: 请各位务必仔细阅读此文档, 按照文档要求进行操作并运行项目。 此项目仅为Fabric爱好者基础入门版本SDK, 该版本不对 接入SpringBoot
、源码改造支持节点的高可用
共识最快OR最新通知机制
多智能合约部署
支持富查询
支持CA
以及 启用TLS
等功能进行支持。
[x] 区块链网络部署方案 fabric-network deploy
[x] 适用对象: 入门 Hyperledger-Fabric_release-1.1 Java版SDK
[x] 测试用例: APITest | BlockChainTest | InvokeTest | QueryTest | UpgradeTest | JoinPeerTest
[x] 全流程 APITest
[x] 查询区块|账本信息 BlockChainTest
[x] 转账操作 InvokeTest
[x] 查询智能合约 QueryTest
[x] 升级智能合约 UpgradeTest
[x] 加入新节点 JoinPeerTest
[x] 测试用例执行顺序建议: APITest -> JoinPeerTest -> QueryTest -> InvokeTest -> QueryTest -> UpgradeTest -> QueryTest
[x] 使用前置条件
[x] 1. 测试前请先配置好服务器信息: Config
[x] 2. 使用Redis缓存, 请先安装好redis并配置Redis服务信息 Constants 类
[x] 3. 查阅 接入Fabric E2E案例流程说明.md 或 请仔细阅读以下1 2 3 4点说明
均可
[x] 日志输出模板 测试案例日志输出.md
[x] JDK版本: JDK 1.8
[x] 对应Fabric版本: Hyperledger-Fabric_release-1.1 Hyperledger-Fabric Link
[x] 官方SDK列表: hyperledger
[x] fabric-sdk-java: fabric-sdk-java
[x] fabric-sdk-node: fabric-sdk-node
[x] fabric-sdk-go: fabric-sdk-go
[x] fabric-sdk-python: fabric-sdk-python
[x] 欢迎加星收藏
# 1. 链码存放目录
chaincodes
EG: /resources/chaincodes/sample/src/github.com/chaincode_example02/chaincode_example02.go
chaincodePath: github.com/chaincode_example02
chaincodeSourceLocation: .../chaincodes/sample # ... 请补全绝对路径信息
# 2. 通道配置信息、锚节点及创世纪块文件存放目录
channel-artifacts
# 3. 证书、签名密钥信息文件存放目录
crypto-config
# 4. 背书策略目录
policy
# 5. 协议文件目录(此版本暂无用到)
protocol
# 6. 配置文件
config.properties
# 加入脚本目录
cd /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
# 备份已有配置信息
mkdir bak
cp -R channel-artifacts crypto-config bak/
# 移除已有配置信息, (如果现有配置信息还有用, 请先备份)
rm -rf channel-artifacts/* crypto-config/*
# 执行脚本, $channelName 为通道名称变量名
source generateArtifacts.sh $channelName
# 验证
ll channel-artifacts
ll crypto-config
# 首次启动 network_setup.sh 脚本后, 修改以下代码, 重启 Fabric 服务
vim network_setup.sh
# 删除以下脚本代码
# function networkUp -> source generateArtifacts.sh $CH_NAME # 删除 else 整个片段的代码
# function networkDown -> rm -rf channel-artifacts/*.block channel-artifacts/*.tx crypto-config
如果不关闭的话, 重启Fabric网络时, 客户端需要重新替换通道相关文件信息
cd /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
1. vim base/peer-base.yaml
CORE_PEER_TLS_ENABLED=true
改为
CORE_PEER_TLS_ENABLED=false
2. vim base/docker-compose-base.yaml
ORDERER_GENERAL_TLS_ENABLED=true
改为
ORDERER_GENERAL_TLS_ENABLED=false
3. vim docker-compose-cli.yaml
CORE_PEER_TLS_ENABLED=true
改为
CORE_PEER_TLS_ENABLED=false
4. 如果使用 Fabric V1.1 E2E 测试转账DEMO, 请注释掉 script.sh 脚本所有操作区块链代码
cd /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
vim scripts/script.sh
# 注释块起始位置(包含以下部分)
## Create channel
echo "Creating channel..."
createChannel
# 注释块截至位置(包含以下部分)
#Query on chaincode on Peer3/Org2, check if the result is 90
echo "Querying chaincode on org2/peer3..."
chaincodeQuery 3 90
说明: 由于该项目sdk端不对tls进行支持, 因此区块链网络端必须关闭tls
Project
fabric-sdk-server
Created By L.Answer At 2018-08-27
GitHub: https://github.com/AnswerAIL
Contact me By Email answer_ljm@163.com OR QQ 1072594307 OR WeChat JimLy_BUG
郑重说明:此项目仅提供学习交流, 禁止用于任何商业用途, 如有其他用途请先联系作者。
End.
有问题请提Issues |