栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Hyperledger Fabric V1.0的本地开发环境中使用REST API支持

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Hyperledger Fabric V1.0的本地开发环境中使用REST API支持

Hyperledger Fabric v.1.0.0中没有REST API,但是有Java
SDK可用于与对等方进行交互。您可以使用以下Maven依赖项来设置Java项目:

<dependency>  <groupId>org.hyperledger.fabric-sdk-java</groupId>  <artifactId>fabric-sdk-java</artifactId>  <version>1.0.0</version></dependency>

现在,您可以使用SDK API来调用/查询您的链码:

获取HF客户端实例

    final HFClient client = HFClient.createNewInstance();

为客户设置加密资料

    // Set default crypto suite for HF client    client.setCryptoSuite(CryptoSuite.Factory.getCryptoSuite());    client.setUserContext(new User() {        public String getName() { return "testUser";        }        public Set<String> getRoles() { return null;        }        public String getAccount() { return null;        }        public String getAffiliation() { return null;        }        public Enrollment getEnrollment() { return new Enrollment() {     public PrivateKey getKey() {         // Load your private key     }     public String getCert() {         // Read client certificate     } };        }        public String getMspId() { return "Org1MSP";        }    });

现在通道配置:

    final Channel channel = client.newChannel("mychannel");    channel.addOrderer(client.newOrderer("orderer0", "grpc://localhost:7050"));    channel.addPeer(client.newPeer("peer0", "grpc://localhost:7051"));    channel.initialize();

创建交易建议:

    final TransactionProposalRequest proposalRequest = client.newTransactionProposalRequest();    final ChainpreID chainpreID = ChainpreID.newBuilder() .setName("myCC") .setVersion("1.0") .setPath("github.com/yourpackage/chainpre/") .build();    proposalRequest.setChainpreID(chainpreID);    proposalRequest.setFcn("fcn");    proposalRequest.setProposalWaitTime(TimeUnit.SECONDS.toMillis(10));    proposalRequest.setArgs(new String[]{"arg1", "arg2"});

发送提案

    final Collection<ProposalResponse> responses = channel.sendTransactionProposal(proposalRequest);    CompletableFuture<BlockEvent.TransactionEvent> txFuture = channel.sendTransaction(responses, client.getUserContext());    BlockEvent.TransactionEvent event = txFuture.get();    System.out.println(event.toString());


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号