Hyperledger Fabric 1.0 如何按名称获取通道



从java SDK创建的频道

Channel newChannel = hfclient.
newChannel("foo", anOrderer, channelConfiguration, channelConfig);

在 docker 容器中成功创建日志通道

问题:

  1. 无法创建同名频道 - 收到 400 错误请求 频道存在?
  2. 我无法按名称获取频道 hfclient.getChannel("( = null
  3. 如何获得创建的频道?
  4. 如何从 docker 容器检查现有通道的列表?

您可以通过调用 CSCC(配置系统链码(来查询可用通道,它提供以下 API:

// These are function names from Invoke first parameter
const (
JoinChain      string = "JoinChain"
GetConfigBlock string = "GetConfigBlock"
GetChannels    string = "GetChannels"
)

Java SDK代码看起来像这样:

final Channel channel = client.newChannel("");
channel.addOrderer(client.newOrderer("orderer0", "grpc://localhost:7050"));
channel.addPeer(client.newPeer("peer0", "grpc://localhost:7051"));
channel.initialize();
final TransactionProposalRequest proposalRequest = client.
newTransactionProposalRequest();
final ChaincodeID chaincodeID = ChaincodeID.newBuilder()
.setName("cscc")
.setPath("github.com/C0rWin/pgdays/chaincode/personsV3")
.build();
proposalRequest.setChaincodeID(chaincodeID);
proposalRequest.setFcn("GetChannels");
proposalRequest.setProposalWaitTime(TimeUnit.SECONDS.toMillis(10));
final Collection<ProposalResponse> responses = channel.
sendTransactionProposal(proposalRequest);

最新更新