在之前的文章“fabric sdk java 简单示例” 中运行了一个示例项目(基于 fabric-sample 中的fabcar示例,其中有 queryAllCars 调用的示例,下面在添加2个新的示例方法:

1. queryCar 根据 key 查询某条数据

static void queryCar(HFClient client) throws ProposalException, InvalidArgumentException {

// get channel instance from client

Channel channel = client.getChannel("mychannel");

// create chaincode request

QueryByChaincodeRequest qpr = client.newQueryProposalRequest();

// build cc id providing the chaincode name. Version is omitted here.

ChaincodeID fabcarCCId = ChaincodeID.newBuilder().setName("fabcar").build();

qpr.setChaincodeID(fabcarCCId);

// CC function to be called

qpr.setFcn("queryCar");

String[] args = new String[] {"CAR1"};

qpr.setArgs(args);

Collection res = channel.queryByChaincode(qpr);

// display response

for (ProposalResponse pres : res) {

String stringResponse = new String(pres.getChaincodeActionResponsePayload());

log.info(stringResponse);

}

}

2. createCar 新建数据

static void createCar(HFClient client) throws Exception {

Channel channel = client.getChannel("mychannel");

TransactionProposalRequest tpr = client.newTransactionProposalRequest();

ChaincodeID cid = ChaincodeID.newBuilder().setName("fabcar").build();

tpr.setChaincodeID(cid);

tpr.setFcn("createCar");

tpr.setArgs(new String[]{"CAR11", "Skoda", "MB1000", "Yellow", "Lukas"});

Collection responses = channel.sendTransactionProposal(tpr);

List invalid = responses.stream().filter(r -> r.isInvalid()).collect(Collectors.toList());

if (!invalid.isEmpty()) {

invalid.forEach(response -> {

log.error(response.getMessage());

});

throw new RuntimeException("invalid response(s) found");

}

BlockEvent.TransactionEvent event = channel.sendTransaction(responses).get(60, TimeUnit.SECONDS);

if (event.isValid()) {

System.out.println("--- Transacion tx: " + event.getTransactionID() + " is completed.");

} else {

System.out.println("--- Transaction tx: " + event.getTransactionID() + " is invalid.");

}

}

java写事物提交_fabric-sdk-java 提交事务相关推荐

  1. 用java写一个日历_使用JAVA写一个简单的日历

    JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...

  2. java网页作业提交_基于JAVA网上作业提交批改系统的设计(SQL)(含录像)

    基于JAVA网上作业提交批改系统的设计(SQL)(含录像)(毕业论文15000字,程序代码,SQLserver数据库) 摘  要 随着社会的进步,网络技术的发展为教育界提供了一片崭新的空间,传统的教学 ...

  3. java 写文件 二进制_简单Java程序向实用程序的过度:二进制文件的读写

    File I/O中常见的文件读写: 1.字节流读写文本文件 FileInputStream; FileOutputStream; 2.字符流读写文本文件 FileReader; FileWriter; ...

  4. java写一个搜索引擎_搜索引擎—-Java实现一个简单的网络爬虫

    Java实现一个简单的爬虫程序. package SearchCrawler;import java.util.*;import java.net.*;import java.io.*;import ...

  5. idea中删除java类并提交_IDEA 删除java类的3种提示

    1. 点击 delete 删除文件时,会弹出如下选项: Safe delete (with usage search) Search in comments and strings "Saf ...

  6. 用java写分段函数_使用Java将分段函数转换为CSV文件

    这似乎有用 - 有点.无论如何,这可能是一个好的开始. public class CSVFun { // Where to start the scan of the function. static ...

  7. java写的家谱_关于java:家谱计划的逻辑

    我在Java中创建一个家庭树程序,或者至少试着去做.我已经开设了几个课程: 名字的获取者和设置者性别年龄等 FamilyMember-扩展个人getter以及设置家长和儿童 家庭-由多个族成员和添加方 ...

  8. java写龟兔赛跑_[阶段一]java编程比赛-龟兔赛跑

    题目详情 龟兔赛跑的故事大家都听过,请采用线程的知识,编写代码作比较. 具体要求如下: 1.乌龟和兔子各自一个线程. 2.乌龟每步跑1厘米,兔子每步跳100厘米. 3.兔子每跑到第100步的时候,会休 ...

  9. 用Java写给女朋友,《用java编写追女朋友》经典句子

    关于<用java编写追女朋友>经典句子已为您找到14条,用java编写追女朋友的经典句子是由梁保华收集发布到51追女孩的. 1.爱是冬日里的一缕阳光,让穷人和病人感受到世界的温暖. 2.从 ...

最新文章

  1. alter system|session set events转储
  2. 进入DRF和ANGULAR的整合学习,这三篇入门内容一定要学好的
  3. 在.NET Core中使用MySQL5.7的JSON类型字段
  4. 11相机不流畅_小米11有望本月发布,小米10退位让贤,256GB版本跌至3799
  5. 物联网工程实践第二次课堂笔记
  6. 2.Linux/Unix 系统编程手册(上) -- 基本概念
  7. Ubuntu安装caffe教程
  8. Task01:熟悉新闻推荐系统的基本流程(数据库设计)
  9. cad相对坐标快捷键_47个快捷键+50个CAD技巧助你玩转CAD
  10. excel合并多个工作表_多个Excel工作表合并到一个工作簿?很简单!
  11. 《西方确指》明心生极乐、专修净土乃大孝、持咒显空慧
  12. 电脑的计算机文件打开格式,如何打开zip文件_怎样在电脑上打开zip文件
  13. 基于MATLAB的数字信号处理(5) FIR数字滤波器设计及软件实现
  14. android highcharts柱状图实例,Highcharts 基本柱形图
  15. bp是什么意思贷款利率,lpr+bp利率是什么意思
  16. 为什么越长大越不想过生日
  17. unable to load dll 'gdiplus.dll' in docker
  18. BootStrap Table的JS封装
  19. BSV 上的点对点结算衍生品:远期合约
  20. 第917期机器学习日报(2017-03-23)

热门文章

  1. golang中文文档_Golang 标准库 限流器 time/rate 设计与实现
  2. excel公式编辑器_职场办公技巧—Word公式编辑器怎么用
  3. Fast ORB-SLAM
  4. Ubuntu 14.04 64bit上编译安装MonaServer并测试
  5. 算法导论课后习题解析 第四章 上
  6. Docker最全教程——从理论到实战(六)
  7. Splunk学习与实践
  8. Wireshark网络抓包(三)——网络协议
  9. cocoapods更新
  10. 【收藏】Java多线程/并发编程大合集