美文网首页
Fabric-sdk-java尝试编写自己的调用逻辑

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

作者: Tan_Cc | 来源:发表于2019-03-12 20:43 被阅读0次

    前期准备

    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");
    
    
    • 把证书和通道配置文件等复制到本地环境

      这里我自己用工具重新生成了证书和配置文件,然后放到了这个位置 image.png

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

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

    解决办法:我把configtx.yaml文件复制了一份放至到我新建的v1.1文件中,并把configtx.yaml文件里的这两块内容删掉就可以了 image.png 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尝试编写自己的调用逻辑

          本文链接:https://www.haomeiwen.com/subject/tcngfqtx.html