Fabric-sdk-java尝试编写自己的调用逻辑

前期准备

1.将Aberic整合的代码加到原来的项目中

具体代码解析就不多详述了,链接的博客上都有
遇到的一点点问题这里也记录一下

  • 有部分代码需要注意安全性问题——需要添加try-catch语句
2.将FabricManager类添加入项目

这里说一下自己遇到的一些问题:

  • 导入lombok,就是安装一个插件再在pom文件添加依赖
  • 还要在slf4j的依赖,否则debug会报红

开始尝试

  • 编写一个小测试类
public class FabricManagerTest { 
@Test 
public void test1() throws IOException, NoSuchAlgorithmException, InvocationTargetException, NoSuchMethodException, InstantiationException, InvalidKeySpecException, CryptoException, InvalidArgumentException, IllegalAccessException, NoSuchProviderException, TransactionException, ClassNotFoundException, InterruptedException, ExecutionException, TimeoutException, ProposalException { 
ChaincodeManager manager = FabricManager.obtain().getManager(); 
String fcn = "move" ; 
String[] arguments = new String[]{"a","b","200"}; manager.invoke(fcn, arguments); 
fcn = "query" ; 
arguments = new String[]{"b"}; 
manager.query(fcn, arguments);}
}
  • 修改FabricManager配置,因为我所有的东西都在本机中,所以全部都是localhost
config.setChaincode(getChaincode("foo", "example_cc_go", "github.com/example_cc", "1"));

orderer.setOrdererDomainName("example.com");
orderer.addOrderer("orderer.example.com", "grpc://localhost:7050");

peers.setOrgName("org1");
peers.setOrgMSPID("org1MSP");
peers.setOrgDomainName("org1.example.com");
peers.addPeer("peer0.org1.example.com", "peer0.org1.example.com", "grpc://localhost:7051", "grpc://localhost:7053", "http://localhost:7054");

  • 把证书和通道配置文件等复制到本地环境

    这里我自己用工具重新生成了证书和配置文件,然后放到了这个位置
    Fabric-sdk-java尝试编写自己的调用逻辑_第1张图片
    image.png

这里说说期间遇到的问题:

在生成orderer.block的时候出现了报错——说什么 anchor “applicationcapabilities1_2” 不能识别大概是这个意思

解决办法:我把configtx.yaml文件复制了一份放至到我新建的v1.1文件中,并把configtx.yaml文件里的这两块内容删掉就可以了
Fabric-sdk-java尝试编写自己的调用逻辑_第2张图片
image.png
Fabric-sdk-java尝试编写自己的调用逻辑_第3张图片
image.png
  • 启动Fabric网络
  • 调用测试类,然后报错。。。。
    org.hyperledger.fabric.sdk.exception.ProposalException: org.hyperledger.fabric.sdk.exception.TransactionException: org.hyperledger.fabric.sdk.exception.ProposalException: getConfigBlock for channel foo failed with peer peer0.org1.example.com. Status FAILURE, details: Sending proposal to peer0.org1.example.com failed because of: gRPC failure=Status{code=UNKNOWN, description=access denied: channel [foo] creator org [org1MSP], cause=null}
    暂时不能解决。。

你可能感兴趣的:(Fabric-sdk-java尝试编写自己的调用逻辑)