前面的文档已经成功的安装了fabric1.0.1的e2e例子。以后代码换成1.0.3版本按步骤从新安装一下,就能够切换到1.0.3了。1.0.3的脚本和启动命令没有变化,仍是用的1.0.1的。git
1.准备工做github
须要先安装依赖包,不一样的操做系统会有差异:docker
yum install libltdl-dev libtool-ltdl-devel
sudo apt install libtool libltdl-dev
咱们须要下载fabric-ca的源代码到以前的gopath中:ui
目录按照如下目录的目录关系便可:spa
build和install客户端以及服务端操作系统
cd /opt/gopath/src/github.com/hyperledger/fabric-ca/cmd/fabric-ca-client go build go install cd /opt/gopath/src/github.com/hyperledger/fabric-ca/cmd/fabric-ca-server go build go install cd /opt/gopath/bin
目录下应该有两个可执行文件了:3d
2.为e2e的例子增长ca配置code
由于e2e的例子中原本就带了一个ca的例子,因此咱们修改一下启动脚本,把CA拉起来。server
首先修改network_setup.sh文件,将docker-compose-cli.yaml使用#注释掉,放开COMPOSE_FILE=docker-compose-e2e.yaml配置,即将这行前面的#去掉blog
其次,由于这个例子中没有cli,因此须要将后面代码中的cli去掉,不然启动会报错。
CA能够启用或不启用TLS,链接方式有所不一样。默认是启用TLS的。
修改docker-compose-e2e-template.yaml文件(脚本启动后,会使用docker-compose-e2e-template.yaml替换docker-compose-e2e.yaml,因此直接修改docker-compose-e2e.yaml是无效的)
将FABRIC_CA_SERVER_TLS_ENABLED修改成false,则启动时则不启动TLS了。ca0和ca1都要改的
启动系统
cd /opt/fabricinstall/release/e2ecli ./network_setup.sh up
3.使用客户端链接CA注册用户
生成ca的存储目录,并切换到执行目录中
mkdir -p /opt/fabricinstall/client/ca export FABRIC_CA_CLIENT_HOME=/opt/fabricinstall/client/ca cd /opt/gopath/bin
管理员密钥
./fabric-ca-client enroll -u http://admin:adminpw@localhost:7054
执行后再以前设置的/opt/fabricinstall/client/ca目录中,就有了相关的配置信息:
注册新用户
例如咱们注册一个叫fan的用户
./fabric-ca-client register --id.name fan --id.type user --id.affiliation org1.department1 --id.attrs 'hf.Revoker=true,foo=bar'
执行后,系统会返回该用户的密码
新用户密钥
./fabric-ca-client enroll -u http://fan:YXKermZyZWKP@localhost:7054 -M $FABRIC_CA_CLIENT_HOME/fanmsp
标红的三个字段依次为:用户名、密码、密钥存储目录。生成后能够到指定目录中去查看一下生成的密钥
将上述链接中的http链接方式改成:https,例如:
./fabric-ca-client enroll -u https://admin:adminpw@localhost:7054