1. 安装
1.1 操作系统 Ubuntu18.04
1.2 准备环境
sudo apt-get install git curl docker-compose -y
# Make sure the Docker daemon is running.
sudo systemctl start docker
# Add your user to the Docker group.
sudo usermod -a -G docker <username> #将<username> 替换为自己的xxx
# Check version numbers
docker --version
docker-compose --version
# Optional: If you want the Docker daemon to start when the system starts, use the following:
sudo systemctl enable docker
Golang:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get install golang-go
JQ:
sudo apt-get install jq
1.3 安装 Fabric 和 Fabric Samples
创建目录 , 下载并修改权限
# for go
mkdir -p $HOME/go/src/github.com/<your_github_userid>
cd $HOME/go/src/github.com/<your_github_userid>
curl -sSLO https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh && chmod +x install-fabric.sh
安装
sudo ./install-fabric.sh
sudo ./install-fabric.sh docker samples binary
2 测试网
解决方案:更新 docker-compose 版本
先卸载原版 sudo apt-get remove docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.28.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
测试
sudo ./network.sh down
sudo ./network.sh up
执行
docker ps -a
可以看见 两个peer 一个 orderer节点
在测试网络中,两个peer 分别属于两个organization peer0.org1.example.com
和 peer0.org2.example.com
2.1 创建channel
./network.sh createChannel
#或者
./network.sh createChannel -c channelname
报错: ERRO [main] InitCmd -> Cannot run peer because error when setting up MSP of type bccsp from directory xxx/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp:KeyMaterial not found in SigningIdentityInfo
After 5 attempts, peer0.org1 has failed to join channel 'channel1'
解决方法: 权限不够? 用sudo bash 没再报错
2.2 启动 chaincode
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go
报错 :Error: chaincode install failed with status: 500 - failed to invoke backing...
解决方案,到链码所在的目录下提前下载依赖包:(参考:https://blog.csdn.net/lakersssss24/article/details/119491099)
cd fabric-samples/asset-transfer-basic/chaincode-go
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GO111MODULE=on
go mod vendor
3 运行java合约
3.1 安装 gradle
下载地址 Gradle Distributions
解压 sudo unzip -d /opt/gradle gradle-7.3.1-bin.zip
配置环境变量 export PATH=$PATH:/opt/gradle/gradle-7.3.1/bin
source /etc/profile 使环境变量生效
gradle -v 验证