amazon-web-services - 如何使用 Hyperledger go SDK 将 Chaincode API 公开为 REST

标签 amazon-web-services hyperledger-fabric hyperledger hyperledger-chaincode

我们已经在 Amazon Managed Blockchain 网络上配置了 hyperledger Fabric 1.2。我们遵循了 8 个步骤指南 managed-blockchain-get-started-tutorial配置此设置。 我们已经配置了网络、成员和对等点,并且还设置了 VPC 服务端点。 Fabric Client VM 也在 AWS Linux 2 AMI 上配置,我们还能够安装/启动和调用示例链代码(如 Set 7: Install and Run chaincode 中所述)。 现在我们的障碍是如何将 API 公开为 rest,以便可以从 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) 上发送来自 postman 的邮寄请求

https://nd-NDNDNDNDND.m-MMMMMMMMMM-n-NNNNNNNNNN.managedblockchain.us-east-1.amazonaws.com:30003/mycc

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

时出错

nd-NDNDNDNDND.m-MMMMMMMMMM-n-NNNNNNNNNN.managedblockchain.us-east-1.amazonaws.com:30003/mycc

我们如何从该 VM 外部以 REST 调用的形式使用这些参数调用此 API?

默认安装了 Hyperledger 1.2 go SDK,您能告诉我们如何使用 go SDK 将 Chaincode API 公开为 REST 吗? 我们知道前端和 Hyperledger Fabric Layer 之间的通信,其中一种方式是 gRPC 调用,但不知道如何配置和使用 grpc for Go。

最佳答案

根据您的解释,您似乎已经正确设置了 hyperledger fabric 网络。因为您能够通过 CLI 安装、实例化和调用链代码。

那么,让我们来回答您的问题,Hyperledger Fabric 为我们提供了两种类型的操作机制,即通过 CLI 和通过 RPC(使用 grpc)。您可以使用 Hyperledger fabric SDK(Node SDK、Java SDK、GO SDK 等),它提供了为 Hyperledger 网络实现 RPC 方法的库。

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

Hyperledger Fabric Node SDK

Hyperledger Fabric Java SDK

Hyperledger Fabric Go SDK

以下是 Hyperledger fabric web 应用程序的示例:-

Hyperledger Fabric samples

我会建议您查看余额转账示例。

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

相关文章:

ios - 无法播放下载内容的 URL 中的视频

amazon-web-services - 在 AWS 上部署 super 账本 - 生产设置

docker - 实例化Chaincode时Chaincode for Developers教程错误

hyperledger-fabric - 在对等组织中实现组织单位标识符会导致订购者 panic 并退出

javascript - 让按钮使用 URL 执行操作而不打开新页面

amazon-web-services - 如何让 Terraform 读取 AWS 凭证文件?

amazon-web-services - 如何用另一个根 ebs 卷替换根 ebs 卷?

hyperledger-fabric - 不同需求的Hyperledger Fabric交易背书

blockchain - 设置 Hyperledger Fabric

node.js - Hyperledger Fabric - Fabcar 性能