java与fabric区块链--fabric-ca-server 登记---(2)
上一篇文章中咱们说了fabric网络的一个基本的部署:
https://blog.csdn.net/datouniao1/article/details/103949676
这一节咱们继续学习,fabric-ca-server的登记
之所以没有在详细的学习目录,是因为我也是一边学习一边探索
什么是fabric-ca-server
看看我们之前启动的fabric网络,利用命令
$:docker ps
无论我们是不是在意,fabric-ca就在那里,而且运行着,既然运行着那就是一个服务,这个服务有什么样的作用呢,在一些专门介绍的网站有很多的介绍,大家可以百度,我之前在在这个上面入了很多的坑,这个其实是对我们区块链网络访问的的一个用户管理的一个服务,用于新用户的登记和注册,以及用户的撤销
总之就是用来管理用户的
fabric-ca-server交互方式
fabric-ca-server在启动的时候有一个初始的用户,也就是管理员。说一下下面两个程序:
fabric-ca-server
fabric-ca-client
根据名字我们就可以看这个两个的区别,一个是服务端,一个是客户端。针对服务端fabric-ca-server,提供了两种交互的方式,一个是fabric-ca-client可以和其进行交互,还有就是我们通过调用其内部的restful接口进行交互,对于我们开发来说,我们是不愿意记太多的命令的,往往是喜欢调用restful接口和server进行交互,而且我们docker部署感觉使用命令就会有很多的不方便
第一个接口登记
程序:
public static void main(String[] args) {
try {
String caUrl = "http://***.**.**.***:7054";
CryptoSuite cs = CryptoSuite.Factory.getCryptoSuite();
Properties prop = new Properties();
prop.put("verify", false);
HFCAClient caClient = HFCAClient.createNewInstance(caUrl, prop);
caClient.setCryptoSuite(cs);
Enrollment enrollment = caClient.enroll("admin", "adminpw");
System.out.println(caClient.getCAName());
System.out.println(enrollment.getKey());
System.out.println(enrollment.getCert());
} catch (Exception e) {
e.printStackTrace();
}
}
输出结果:
上面就是一个简单的登记,我们在登记的时候使用的用户是admin,密码是adminpw,这个是docker在初始化的时候默认设置的,还有一个比较重要的是,我们本地使用的fabric-jdk-fabric的版本要和服务器上的版本是一致的:
pom.xml:
<dependency>
<groupId>org.hyperledger.fabric-sdk-java</groupId>
<artifactId>fabric-sdk-java</artifactId>
<version>1.4.1</version>
</dependency>
还没有评论,来说两句吧...