zoukankan      html  css  js  c++  java
  • Hyperledger Fabric java chaincode 编译部署(1.4V)

    前提条件:

    构建好了一个拥有四个peer 一个Order 的1.4版本的Fabric网络。

    证书通过Cryptogen生成,没有使用CA服务。

    开启TLS。

    网络中的peer都加入了一个 名为mychannel的通道中。

     123

    一.链码编写

    java版本的链码参考官网有很多,我使用的是

    https://github.com/hyperledger/fabric-samples/tree/release-1.4/chaincode/chaincode_example02/java  

    项目本身是个gradle工程,因为我使用maven比较多,所以修改了项目中的build.gradle文件:添加

    apply plugin: 'java
    apply plugin: 'maven'将项目转换成一个maven工程。

    二 chaincode安装 实例化

    chaincode安装可以有两种方式,1 直接通过peer install 安装 2 通过peer package 打包

    我这里使用的是第一种:

    首先需要明白的是  链码的安装需要在所有的peer节点上执行peer install。 实例化只需要在一个节点上实例化。

    使用 docker exec -it 进入容器。

    执行

    peer chaincode install -n loc -v 1.0 -l java -p /usr/local/workspace/assert/java/

    loc是chaincode的名称  1.0是版本  -l后面跟的是编程语言 ,java。  -p后面的路径就是第一步的链码放在服务器上的路径。这种方式服务器会通过java env的容器来构建java工程。

    切换peer 节点,分别在每个peer上执行一次peer chaincode install的操作。

    选择一个peer节点执行实例化操作:

     peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile /usr/local/workspace/firstnetwork/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n loc -l java -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"

    这里指定了背书策略。

     表示成功。

    第二种peer package的方式大同小异,后续会补充。

    这里开启了TLS 和指定了背书策略,会影响下面介绍的通过JAVA SDK 调用该链码的编写。

  • 相关阅读:
    迁移模型问题,提示admin已存在
    centos 部署的时候安装不上Mariadb,缺少依赖文件
    collections
    List里面添加子list,子list clear之后竟然会影响主List里面的内容
    Jackson用法详解
    Ouath2.0在SpringCloud下验证获取授权码
    zookeeper原理之Leader选举的getView 的解析流程和ZkServer服务启动的逻辑
    zookeeper原理之Leader选举源码分析
    Spring Integration sftp 专栏详解
    SpringMVC常用注解标签详解
  • 原文地址:https://www.cnblogs.com/gzhlt/p/10572349.html
Copyright © 2011-2022 走看看