Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。

2年前关闭。



Improve this question





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

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

修改后,我们在本地无业游民的VM服务器上进行了测试。所有的更改都很好。

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

我的问题来了:


对于bluemix,当我启动区块链服务时,实际上发生了什么? bluemix是否为我启动了几个VM以运行对等节点?
是否有人尝试通过cf应用程序频道推送对等?如何为对等节点结算buildpack?
对等节点正在运行时,它正在侦听8080以外的3个端口。在我的本地VM服务器中,它是fin。但是如何在bluemix中启用这些端口?


感谢您的想法和贡献。

最佳答案

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


除了“对等”应用程序之外,还应在CF容器内启动Docker恶魔(我尚未测试Docker是否可在CF容器内工作)
就CF应用程序而言,默认情况下仅公开1个网络端口-我们无法在启动验证对等方的同一容器中启动REST端点。解决方法-我们可以在应用程序部署时使用-c选项在CF中将“成员资格服务”,“验证对等方”和“ REST客户端”作为不同的应用程序运行。
CF路由器支持有限数量的协议,这在此级别上也可能是一个问题。


在应用程序级别上,如果CF重新启动您的应用程序,则注册证书存在问题(只能颁发一次)-验证对等方将无法使用相同的凭据来申请另一个注册证书。
解决方法-可以将证书保存在外部持久性存储中,并在启动时加载它们。无论如何,VP在CF中只有1个实例(将不使用可伸缩性)

结果,如果不对Fabric核心进行自定义,我们几乎无法利用CF等好处,例如可伸缩性和自动故障转移。

关于ibm-cloud - 如何将Hyperledger区块链部署到IBM Bluemix ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37747489/

10-13 05:08