注意:需要安装git、docker、node、golang。docker版本最少1.10.1以上
1、curl -sS https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./scripts/bootstrap.sh
2、chmod +x ./scripts/bootstrap.sh
3、在执行文件前,将bootstrap.sh中的pullBinaries方法注释掉,因为耗时较长,单独拉取,见第4步。
如果不指定版本,默认拉取分支main的代码,拉去后可以自己切换分支到release-1.4(也可以自己去拉取代码,将bootstrap.sh中拉取代码的方法注释掉即可
代码地址:https://github.com/hyperledger/fabric-samples/tree/release-1.4)
./scripts/bootstrap.sh [version] [ca version] [thirdparty_version]
例如: ./bootstrap.sh 1.4.3 1.4.2 0.4.15
4、拉取pullBinaries,解压后为bin/,configure/目录,将目录放到上面拉取的代码的根目录下
https://github.com/hyperledger/fabric/releases/download/v1.4.2/hyperledger-fabric-linux-amd64-1.4.2.tar.gz
https://github.com/hyperledger/fabric-ca/releases/download/v1.4.2/hyperledger-fabric-ca-linux-amd64-1.4.2.tar.gz
5、进入fabric-samples/first-network目录,执行 ./byfn.sh generate
6、执行./byfn.sh up
7、正常启动后,执行./byfn down
问题:如果运行 Java 链码:./byfn.sh up -l java,报错,可以在fabric-samples/chaincode/chaincode_example02/java/ build.gradle文件的repositories中添加:
maven {url "https://repository.mulesoft.org/nexus/content/repositories/public/" }
maven {url 'https://dl.bintray.com/jetbrains/anko'}
或者改为使用阿里云的试一下:
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/' }
maven { url 'https://maven.aliyun.com/repository/jcenter/'}
maven { url 'https://maven.aliyun.com/repository/gradle-plugin/'}
---------------------------------------------------------------------
transport: Error while dialing dial tcp: lookup orderer.example.com on 127.0.0.11:53: no such host
解决办法:这个问题原因很多,有说是docker服务启动有问题,可以重启docker服务试一下;如果还不成功可以查看是否是有某个容器没有启动,如果没有启动,则docker logs 容器id,查看容器详细日志,有可能是镜像版本不对,重新使用bootstrap 拉取新的镜像即可;
或者是已经存在某个文件,需要删除多出来的文件