前提条件:

构建好了一个拥有四个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 调用该链码的编写。

Hyperledger Fabric java chaincode 编译部署(1.4V)的更多相关文章

  1. Hyperledger Fabric java chaincode 中文乱码问题

    开发java chaincode过程中遇到一个中文乱码的问题.都是官方的demo,请求的sdk是用java写的,部署的chaincode有两种选择(不考虑node),一种go语言写的chaincode ...

  2. HyperLedger Fabric 1.1 手动部署单机单节点

    手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...

  3. (三)Hyperledger Fabric 1.1安装部署-chaincode测试

    环境搭建完毕,需要的工具和镜像安装完毕,就可以进行chaincode测试了,接下来参考官方教程运行first-network. 进入first-netwok: cd first-network fir ...

  4. fabric java chaincode 开发

    链码的开发不部分参考官网demo即可. 本文不会详细介绍开发过程 笔者启动的是一个gradle工程,也就是jar包管理使用的是gradle. chaincode 源码: /* Copyright IB ...

  5. (二)Hyperledger Fabric 1.1安装部署-Fabric Samples

    Hyperledger Fabric Samples是官方推荐的First Network,对于熟悉fabric和测试基础环境很有好处. Fabric Samples源码下载:使用git下载源码,进入 ...

  6. (一)Hyperledger Fabric 1.1安装部署-基础环境搭建

    在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...

  7. Ubuntu下Hyperledger Fabric v0.6安装部署

    系统环境:虚拟机VMware Workstation中的Ubuntu 16.04LTS 1.环境准备 1.1安装Docker Docker安装命令: curl –fsSL https://get.do ...

  8. 用Java为Hyperledger Fabric(超级账本)开发区块链智能合约链代码之部署与运行示例代码

    部署并运行 Java 链代码示例 您已经定义并启动了本地区块链网络,而且已构建 Java shim 客户端 JAR 并安装到本地 Maven 存储库中,现在已准备好在之前下载的 Hyperledger ...

  9. Hyperledger Fabric (1.0)环境部署 chaincode【转】

    三.测试Fabric 其实我们在前面运行./network_setup.sh up的时候系统已经运行了一个Example02的ChainCode测试,部署上去的ChainCodeName是mycc,所 ...

随机推荐

  1. 学习vue

    一,声明模板的时候需要新建示例 如下代码 <div id="app"> <my></my> </div> Vue.component ...

  2. Java-API-Package:org.springframwork.transaction.annotation

    ylbtech-Java-API-Package:org.springframwork.transaction.annotation 1.返回顶部 1. @NonNullApi @NonNullFie ...

  3. C#在线预览文档(word,excel,pdf,txt,png)

    C#在线预览文档(word,excel,pdf,txt,png) 1.预览方式:将word文件转换成html文件然后预览html文件2.预览word文件:需要引入Interop.Microsoft.O ...

  4. 属性操作get.Attribute()

  5. android官方手册学习笔记

    数据存储 在提交sharedpreference 修改的时候,用apply代替commit 避免UI线程阻塞   设备兼容 系统会自动根据当前屏幕的大小等,在相应的文件夹里去找资源,如large等等 ...

  6. ruby 数组与散列

    def say_goodnight(name) result ="Good night ." +name return result end def say_goodmorning ...

  7. php学习笔记-continue和break

    这两个关键字经常被用在循环中,但作用是完全不同的. 在循环中遇到continue这个单词的时候一定要理解为skip,跳过或者略过,啥意思?就是跳过本次循环,后面的循环继续走起来,老铁. break是说 ...

  8. 如何使用EditPlus将json格式字符串默认为UTF-8格式

    1.首先用EditPlus打开json格式的文件 2.选择Tools工具栏下的Configure  User Tools 3.点击左侧File 4.在右侧Default encoding中选择UTF- ...

  9. CF321E Ciel and Gondolas & BZOJ 5311 贞鱼

    一眼可以看出$O(kn^{2})$的$dp$方程,然后就不会了呜呜呜. 设$f_{i, j}$表示已经选到了第$i + 1$个数并且选了$j$段的最小代价,那么 $f_{i, j} = f_{p, j ...

  10. zookeeper集群安装(转)

    转载地址:http://www.blogjava.net/hello-yun/archive/2012/05/03/377250.html 本方法,本人亲自试验,可以成功. ZooKeeper是一个分 ...