作为应用级别来说,在fabric-sdk-java中,最常用的是query、invoke方法
public Map<String, Object> query(String peerName,String chaincodeName,String fcn,String[] args) throws Exception {
JustProperty conf = handle.getConf();
ChaincodeInfo chaincodeInfo = conf.getChaincodeInfo();
String channelName = chaincodeInfo.getChaincodeChannelName();
String ordererName = chaincodeInfo.getChaincodeOrdererName();
return handle.query(channelName,ordererName, peerName, chaincodeName, fcn, args);
}
读取配置文件里的参数存放在 JustProperty
JustProperty conf = handle.getConf();
下面我们来看一下query具体实现
public Map<String,Object> query(String channelName,String ordererName,String peerName,String chaincodename, String chaincodeFunction, String[] chaincodeArgs) throws Exception {
Map<String,Object> callback = new HashMap<>();
try{
Channel channel = reconstructChannel(channelName,ordererName,peerName);
client.setCryptoSuite(CryptoSuite.Factory.getCryptoSuite());
client.setUserContext(conf.enrollUser(ordererName));
ChaincodeID chaincodeID = ChaincodeID.newBuilder().setName(chaincodename).build();
logger.info("Channel Name is " + channel.getName());
logger.debug(format("Querying chaincode %s and function %s with arguments %s", chaincodename,
chaincodeFunction, Arrays.asList(chaincodeArgs).toString()));
QueryByChaincodeRequest queryByChaincodeRequest = client.newQueryProposalRequest();
queryByChaincodeRequest.setArgs(c

本文主要介绍了如何在应用层面使用Fabric-sdk-java,重点讲解了query和invoke方法的实现。首先,通过读取配置文件获取参数并存储。接着,详细阐述了创建channel的过程,包括通道名称、排序节点和提交节点的设置。然后,展示了如何创建查询提案请求,并通过channel发送该请求。最后,解释了如何处理提案请求的结果。
最低0.47元/天 解锁文章
896

被折叠的 条评论
为什么被折叠?



