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 调用该链码的编写。
Hyperledger Fabric java chaincode 编译部署(1.4V)的更多相关文章
- Hyperledger Fabric java chaincode 中文乱码问题
开发java chaincode过程中遇到一个中文乱码的问题.都是官方的demo,请求的sdk是用java写的,部署的chaincode有两种选择(不考虑node),一种go语言写的chaincode ...
- HyperLedger Fabric 1.1 手动部署单机单节点
手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...
- (三)Hyperledger Fabric 1.1安装部署-chaincode测试
环境搭建完毕,需要的工具和镜像安装完毕,就可以进行chaincode测试了,接下来参考官方教程运行first-network. 进入first-netwok: cd first-network fir ...
- fabric java chaincode 开发
链码的开发不部分参考官网demo即可. 本文不会详细介绍开发过程 笔者启动的是一个gradle工程,也就是jar包管理使用的是gradle. chaincode 源码: /* Copyright IB ...
- (二)Hyperledger Fabric 1.1安装部署-Fabric Samples
Hyperledger Fabric Samples是官方推荐的First Network,对于熟悉fabric和测试基础环境很有好处. Fabric Samples源码下载:使用git下载源码,进入 ...
- (一)Hyperledger Fabric 1.1安装部署-基础环境搭建
在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...
- Ubuntu下Hyperledger Fabric v0.6安装部署
系统环境:虚拟机VMware Workstation中的Ubuntu 16.04LTS 1.环境准备 1.1安装Docker Docker安装命令: curl –fsSL https://get.do ...
- 用Java为Hyperledger Fabric(超级账本)开发区块链智能合约链代码之部署与运行示例代码
部署并运行 Java 链代码示例 您已经定义并启动了本地区块链网络,而且已构建 Java shim 客户端 JAR 并安装到本地 Maven 存储库中,现在已准备好在之前下载的 Hyperledger ...
- Hyperledger Fabric (1.0)环境部署 chaincode【转】
三.测试Fabric 其实我们在前面运行./network_setup.sh up的时候系统已经运行了一个Example02的ChainCode测试,部署上去的ChainCodeName是mycc,所 ...
随机推荐
- 3D柜体导出CAD优化参考方案
前言: 近期在做系统柜和衣柜导出CAD的工作,现阶段的工作是根据不同的厂商定制不同的CAD导出,其中房间平面图.顶脚线截面图.柜体立面图.侧视图.平面图.门板图等模块功能都基本固定,不同的是不同厂商的 ...
- select *和select 全部
select *和select 全部字段 在查询上效果是一样的,速度也是一样的. 不过理论上来说select *反而会快点. 因为 1.select 全部字段在数据传输上消耗会更多,如果几百个字段这个 ...
- 开发环境入门 linux基础 (部分)正则表达式 grep sed
/etc/profile /etc/bashrc .变量添加到shell环境中,永久生效. /root/.bashrc /root/.bash_profile 正则表达式 定义:正则就是用一些具有特 ...
- Python类(三)-多继承的区别
多继承的有两个方式,一个是广度优先,一个是深度优先Python2中经典类按深度优先,新式类按广度优先Python3中经典类和新式类都按广度优先 # -*- coding:utf-8 -*- __aut ...
- CSS——position
position是指元素的定位方式,有:static.absolute.fixed.relative.inherit 5种. static 默认,布局排版方式按照HTML代码的顺序布局. absolu ...
- leetcode661
vector<vector<int>> imageSmoother(vector<vector<int>>& M) { ; vector< ...
- Shell编程进阶 1.8 for循环
产生序列的命令 seq 1 2 3 4 5 6 7 8 9 10 seq 1 3 5 7 9 (从1开始增加2显示这个数字,到10结束) seq - 10 8 6 4 2 seq - 10 9 8 ...
- Hive UDF开发 第一个例子
package udf; import org.apache.hadoop.hive.ql.exec.UDF; public class helloudf extends UDF{ public St ...
- mahout in Action研读(1)-给用户推荐图书
1.mahout in Action2.2第一个例子 Running a first recommender engine 数据: 第一个数字是用户ID 第二个是书的ID,第三个是用户对书的评 ...
- Python之list的创建以及使用
list是一种有序的集合,可以随意添加和删除里面的元素. 空的list的定义:L = [] list当中的元素用[]概括起来. 在list当中可以使用索引来进行访问: 在这里我们要注意我们在进行索引的 ...