如何将Hyperledger块链部署到IBM Bluemix

时间:2016-06-10 11:46:43

标签: ibm-cloud cloudfoundry blockchain hyperledger

在我直接提出问题之前,我想谈谈我是如何遇到这个问题的。

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

修改后,我们在当地的vagrant虚拟机服务器上进行了测试。所有的改变都很好。

现在我尝试通过CF App频道将更新的代码部署到IBM Bluemix。该操作在编译阶段失败,因为缺少基本环境。

这是我的问题:

  1. 对于bluemix,当我启动Block Chain服务时,背后究竟发生了什么? bluemix是否为我启动了一些VM来运行对等节点?
  2. 任何人都试图通过cf app频道推送同行?如何解决对等节点的buildpack?
  3. 当对等节点正在运行时,它正在侦听除8080之外的3个端口。在我的本地VM服务器中它是fin。但是如何在bluemix中启用这些端口?
  4. 感谢您的想法和贡献。

2 个答案:

答案 0 :(得分:0)

我们考虑过将Hyperledger节点作为Cloud Foundry中的应用程序运行。可以使用Go,RocksDB,Docker的可执行文件和其他必要的依赖项来创建buildpack。然而,配置存在一些挑战:

  1. 除了“peer”应用程序之外,还应该在CF容器内部启动Docker恶魔(我还没有测试Docker是否在CF容器内运行)
  2. 默认情况下,CF应用程序只暴露1个网络端口 - 我们无法在启动验证对等体的同一容器中启动REST端点。解决方法 - 我们可以在应用程序部署时使用-c选项在CF中运行“Membership service”,“Validation peer”和“REST client”作为不同的应用程序。
  3. CF路由器支持有限数量的协议,也可能是这个级别的问题。
  4. 在应用程序级别,注册证书存在问题(只能发出一次),以防CF重新启动您的应用程序 - 验证对等方将无法使用相同的凭据申请其他注册证书。 解决方法 - 可以将证书保存在外部永久存储中,并在启动时加载它们。在任何情况下,VP在CF中只有1个实例(不会使用可伸缩性)

    因此,如果没有自定义Fabric核心,我们很难使用可扩展性和自动故障转移等CF等优势。

答案 1 :(得分:0)

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