目前我正在使用Hyperledger Fabric chaincode并试图获得最后一个块的哈希值,但我还没有找到任何方法来获得它。我需要我的链码访问这个哈希值来进行安全检查。
我已经尝试从我的chaincode中调用qscc,它从客户端返回区块链和哈希块信息,但以这种方式访问受到限制。
@Transaction()
public String getBlockHash(final Context ctx) {
ChaincodeStub stub = ctx.getStub();
String[] argsQscc = {"GetChainInfo","mychannel"};
Response response = stub.invokeChaincodeWithStringArgs("qscc", argsQscc);
System.out.println("Result"+response.getMessage());
return response.getMessage();
}
误差由于潜在的死锁,拒绝从另一个chaincode调用QSCC,原始调用'mychaincode'。
不可能从链码内获取。我不确定你是否想要这样做,因为不同的对等体可能在不同的高度,你会得到不同的背书结果,导致你的交易无效。
我建议让客户端查询此信息,并将其传递到调用的chaincode作为输入。