Hyperledger Fabric 1.4 产品链搭建教程 (三) —— MyFabric Demo Java SDK访问示例

本文为Hyperledger Fabric 1.4 产品链搭建教程系列第三篇,介绍如何使用Hyperledger Fabric Java SDK访问MyFabric Demo链。

本篇代码可以从Github上下载 - myfabric-demo-java-client

certificate目录

certificate目录包含项目运行需要的身份证书。

  • CA证书文件org0-ca-chain.pemorg1-ca-chain.pem是组织CA证书,访问org0或org1的节点需要,由于组织节点开启了tls验证。

  • org1组织用户身份文件user_cert.pemuser_sk是用户的身份证书和身份私钥,提供访问用户msp身份。user_client.crtuser_client.key是客户端认证证书和私钥,访问节点需要,由于组织节点开启了客户端验证。admin_开头的4个文件和user_文件类似,代表admin身份。

certificate目录中的身份证书需要使用MyFabric Demo链生成的证书。项目默认文件和myfabric-demo-chain中的身份文件保持一致,可以直接使用。如果运行了start-ca.sh重新生成组织身份证书,需要复制相应文件到certificate目录中,可参考certificate.bat

代码介绍

SampleEnrollment类实现Enrollment接口,管理用户身份证书和私钥

SampleUser类实现User接口,管理用户名,MSPID,Enrollment等信息

Demo类进行MyFabric Demo链的访问,主要流程如下。

  1. 修改private static final String HOST = "192.168.99.101"为您启动MyFabric Demo链的机器IP,如果在本机启动可为localhost。

  2. getDemoChannel方法生成client对象和channel对象client.setUserContext(user)指定一个SampleUser实例为客户端访问用户。channel对象添加一个orderer节点和一个peer节点。

  3. 调用mycc合约的query方法query(client, channel, CHAIN_CODE, "query", new String[] {"a"}),显示a的当前值。

  4. 调用mycc合约的invoke方法invoke(client, channel, CHAIN_CODE, "invoke", new String[] {"a", "b", "10"}),修改a和b的值。

  5. 再次调用mycc合约的query方法query(client, channel, CHAIN_CODE, "query", new String[] {"a"}),显示a被修改后的值。

  6. 遍历链上的每个块blockWalker(client, channel),显示块信息和transaction信息。

详细信息,请阅读源代码。

本篇完,完成教程请阅读Hyperledger Fabric 1.4 产品链搭建教程系列。

你可能感兴趣的:(Hyperledger Fabric 1.4 产品链搭建教程 (三) —— MyFabric Demo Java SDK访问示例)