前面的文档已经成功的安装了fabric1.0.1的e2e例子。之后代码换成1.0.3版本按步骤重新安装一下,就可以切换到1.0.3了。1.0.3的脚本和启动命令没有变化,还是用的1.0.1的。
1.准备工作
需要先安装依赖包,不同的操作系统会有差别:
yum install libltdl-dev libtool-ltdl-devel
sudo apt install libtool libltdl-dev
我们需要下载fabric-ca的源代码到之前的gopath中:
目录按照以下目录的目录关系即可:
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
目录下应该有两个可执行文件了:
2.为e2e的例子增加ca配置
因为e2e的例子中本来就带了一个ca的例子,所以我们修改一下启动脚本,把CA拉起来。
首先修改network_setup.sh文件,将docker-compose-cli.yaml使用#注释掉,放开COMPOSE_FILE=docker-compose-e2e.yaml配置,即将这行前面的#去掉
其次,因为这个例子中没有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
- 不启用TLS进行注册
管理员密钥
./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
标红的三个字段依次为:用户名、密码、密钥存储目录。生成后可以到指定目录中去查看一下生成的密钥
- 启用TLS进行注册
将上述连接中的http连接方式改为:https,例如:
./fabric-ca-client enroll -u https://admin:adminpw@localhost:7054