我们已在Amazon托管区块链网络上配置了hyperledger Fabric 1.2。我们按照managed-blockchain-get-started-tutorial的8个步骤进行了配置。
我们已经配置了网络,成员和对等方,并且还设置了VPC服务端点。 Fabric Client VM也已在AWS Linux 2 AMI上配置,我们还能够安装/启动和调用示例链码(如Set 7: Install and Run chaincode所述)。
现在,我们的障碍是如何使API处于静止状态,以便可以从Fabric客户端VM外部访问该API。我们从很多日子都在挣扎。

按照AWS教程(步骤7.4:调用链码),我们正在使用以下命令调用链码。

docker exec -e "CORE_PEER_TLS_ENABLED=true" -e "CORE_PEER_TLS_ROOTCERT_FILE=/opt/home/managedblockchain-tls-chain.pem"  -e "CORE_PEER_ADDRESS=$PEER"  -e "CORE_PEER_LOCALMSPID=$MSP"  -e "CORE_PEER_MSPCONFIGPATH=$MSP_PATH"  cli peer chaincode invoke -C mychannel  -n mycc -c  '{"Args":["invoke","a","b","10"]}'  -o $ORDERER --cafile /opt/home/managedblockchain-tls-chain.pem --tls

我尝试在($ PEER)上发送邮递员的发帖请求



有效负载:{"Args":["invoke","a","b","10"]}但是出现了错误:
无法得到任何回应
连接到时出错



我们如何从这些VM外部使用这些参数作为REST调用来调用此API?

默认情况下已安装Hyperledger 1.2 go SDK,您能否建议我们如何使用go SDK将Chaincode API公开为REST?
我们知道,要启用前端和Hyperledger Fabric层之间的通信,一种方法是gRPC调用,但不知道如何为Go配置和使用grpc。

最佳答案

根据您的解释,您似乎已经正确设置了 super 账本结构网络。由于您能够通过CLI安装,实例化和调用链码。

因此,让我们提出您的问题,Hyperledger Fabric为我们提供了两种通过CLI和RPC(使用grpc)进行操作的机制。您可以使用Hyperledger架构SDK(节点SDK,Java SDK,GO SDK等),该SDK提供为Hyperledger网络实现RPC方法的库。

因此,您可以使用任何受支持的语言来构建Web应用程序(Rest / Soap)。以下是SDK的链接:-

Hyperledger Fabric Node SDK

Hyperledger Fabric Java SDK

Hyperledger Fabric Go SDK

以下是Hyperledger架构Web应用程序的示例:-

Hyperledger Fabric samples

我建议您以余额转移为例。

关于amazon-web-services - 如何使用Hyperledger go SDK将Chaincode API公开为REST,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54370227/

10-11 09:18