Ibm cloud 如何将Hyperledger区块链部署到IBM Bluemix

Ibm cloud 如何将Hyperledger区块链部署到IBM Bluemix,ibm-cloud,cloud-foundry,blockchain,hyperledger,Ibm Cloud,Cloud Foundry,Blockchain,Hyperledger,在我直接开始这个问题之前,我想谈谈我是如何遇到这个问题的 基本上,我现在正在使用IBM区块链技术,不仅要在Bluemix中使用区块链服务,还要修改Hyperledger对等源代码。您可以从中找到Hyperledger项目。这是GO编写的Linux平台应用程序 修改后,我们在本地vagrant VM服务器上进行了测试。所有的变化都很好 现在,我尝试通过CF应用程序通道将更新的代码部署到IBMBlueMix。由于缺少基本环境,操作在编译阶段失败 我的问题来了: 对于bluemix,当我启动区块链服务

在我直接开始这个问题之前,我想谈谈我是如何遇到这个问题的

基本上,我现在正在使用IBM区块链技术,不仅要在Bluemix中使用区块链服务,还要修改Hyperledger对等源代码。您可以从中找到Hyperledger项目。这是GO编写的Linux平台应用程序

修改后,我们在本地vagrant VM服务器上进行了测试。所有的变化都很好

现在,我尝试通过CF应用程序通道将更新的代码部署到IBMBlueMix。由于缺少基本环境,操作在编译阶段失败

我的问题来了:

  • 对于bluemix,当我启动区块链服务时,后面会发生什么?bluemix是否为我启动了一些VM来运行对等节点
  • 有人尝试过通过cf应用程序频道推送对等机吗?如何结算对等节点的构建包
  • 当对等节点运行时,它正在侦听除8080以外的3个端口。在我的本地虚拟机服务器中,它是fin。但是如何在bluemix中启用这些端口

  • 感谢您的想法和贡献。

    我们考虑在Cloud Foundry中将Hyperledger节点作为一个应用程序运行。可以创建包含Go、RocksDB、Docker可执行文件和其他必要依赖项的buildpack。尽管如此,在配置方面仍存在一些挑战:

  • 除了“对等”应用程序外,Docker demon还应该在CF容器内启动(我还没有测试Docker是否在CF容器内工作)
  • 由于CF应用程序默认只公开1个网络端口,我们不能在启动验证对等方的同一容器中启动REST端点。解决方法-我们可以在应用程序部署时使用
    -c
    选项在CF中作为不同的应用程序运行“会员服务”、“验证对等方”和“REST客户端”
  • CF路由器支持有限数量的协议,这也可能是这一级别的问题 在应用程序级别上,注册证书存在问题(可以只颁发一次),如果CF重新启动应用程序,验证对等方将无法使用相同的凭据申请另一个注册证书。 解决方法—可以将证书保存在外部持久性存储中,并在开始时加载它们。在任何情况下,VP在CF中只有一个实例(不使用可伸缩性)


    因此,如果不对结构核心进行定制,我们很难使用CF的可扩展性和自动故障切换等优势。

    我同意上述说明,Docker仅在我们有对等应用程序时才能在CF容器内工作。其余,您应该有适当的VM配置,因为CF的端口有限

    Bluemix环境运行该结构,并为您提供一些对等点和安全用户配置文件。您今天无法推动结构更改。您可以编写链码并将其部署到这些对等方。Bluemix部署也是hyperledger背后的几个提交编号,因此,如果您在合同中使用一些较新的功能(例如GetTxnTimestamp),它将失败。嗨,我提前向您道歉,因为我对hyperledger也很陌生。我可以知道您是如何在Cloud Foundry中向您的对等方打开多个端口的吗?目前,您无法在公共Cloud Foundry部署中打开多个端口。但应该可以将结构组件部署为单独的应用程序:成员资格服务作为一个打开50051端口的应用程序,验证对等方可以只公开一个端口30303,客户端或非验证对等方将为REST请求打开端口。因此,在CloudFoundry中,这些组件中的每一个都将只使用一个网络端口。我对CloudFoundry不太熟悉,但我不确定您试图以合理的方式做什么。Fabric 0.6对等方自行管理其链码执行环境,即用于链码执行的Docker容器的生命周期。CF中的容器可以做到这一点吗?我知道“Docker嵌套”是可能的,但CF支持这一点吗?(更不用说结构环境了)对我们有效的是设置并部署到VMs(AWS)中。这就保留了大多数已知的“部署逻辑”。CF应该能够在2017年初做到这一点,因为它具有容器到容器的网络,因此可以启用多个端口。多个外部端口也是TCP路由器可支持的实验性功能。