005-环境安装【docker、fabric】

1、参考地址:https://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html#install-curl

一、前置条件和系统配置

1、安装docker

http://www.cnblogs.com/bjlhx/p/7121875.html

2、系统配置

  Node.js-v2.1.8 及更高版本

  在Centos7 64位上安装node.js

yum install npm
查看npm版本:npm -v

 3、安装curl  

yum install curl

4、安装golang

yum install golang

二、安装fabric

1、下载fabric

curl -sSL https://goo.gl/iX9dek | bash

可能会出现如下问题“Peer's Certificate has expired”

解决方案可能是本地时间问题

a>查看ssl更多信息  

curl https://www.baidu.com -v
* About to connect() to www.baidu.com port 443 (#0)
*   Trying 180.97.33.107...
* Connected to www.baidu.com (180.97.33.107) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Server certificate:
*   subject: CN=baidu.com,OU=service operation department,O="Beijing Baidu Netcom Science Technology Co., Ltd.",L=Beijing,ST=Beijing,C=CN
*   start date: Sep 17 00:00:00 2015 GMT
*   expire date: Aug 31 23:59:59 2016 GMT
*   common name: baidu.com
*   issuer: CN=VeriSign Class 3 International Server CA - G3,OU=Terms of use at https://www.verisign.com/rpa (c)10,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
* NSS error -8181 (SEC_ERROR_EXPIRED_CERTIFICATE)
* Peer's Certificate has expired.
* Closing connection 0
curl: (60) Peer's Certificate has expired.
More details here: http://curl.haxx.se/docs/sslcerts.html

根据SEC_ERROR_EXPIRED_CERTIFICATE的错误说明,进行搜索,发现该命令是由于本地的时间不正确造成的。进行一次ntp时间同步

ntpdate pool.ntp.org

 2、配置环境变量

执行上述命令时候回产生一个bin文件夹,配置这个环境变量

export PATH=<path to download location>/bin:$PATH

安装完毕

三、示例

1、安装git

yum install git

2、获取fabric-samples代码

git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples

3、在目录fabric-samples中建立子目录 first-network

mkdir first-network
cd fabric-network

在first-network中增加byfn.sh文件

./byfn.sh -h
Usage:
  byfn.sh -m up|down|restart|generate [-c <channel name>] [-t <timeout>]
  byfn.sh -h|--help (print this message)
    -m <mode> - one of 'up', 'down', 'restart' or 'generate'
      - 'up' - bring up the network with docker-compose up
      - 'down' - clear the network with docker-compose down
      - 'restart' - restart the network
      - 'generate' - generate required certificates and genesis block
    -c <channel name> - config name to use (defaults to "mychannel")
    -t <timeout> - CLI timeout duration in microseconds (defaults to 10000)

Typically, one would first generate the required certificates and
genesis block, then bring up the network. e.g.:

  byfn.sh -m generate -c <channelname>
  byfn.sh -m up -c <channelname>

这里直接使用first-samples自代示例直接运行

./byfn.sh -m generate

开启网络

./byfn.sh -m up

关闭

./byfn.sh -m down

执行相关命令

原文地址:https://www.cnblogs.com/bjlhx/p/7131765.html