2016-06-10 98 views
3

在我直接跳到問題之前,我想談談我是如何遇到此問題的。如何將Hyperledger塊鏈部署到IBM Bluemix

基本上,我與IBM blockchain技術現在的工作,不僅要使用塊鏈服務Bluemix,還要修改Hyperledger對源代碼。您可以從https://github.com/hyperledger/fabric找到Hyperledger項目。這是一個由GO編寫的Linux平臺應用程序。

修改之後,我們在當地的流浪虛擬機服務器上進行了測試。所有的變化都很好。

現在,我嘗試部署通過CF應用頻道更新的代碼,以IBM Bluemix。由於缺少基礎環境,編譯階段的操作失敗。

來到這裏,我的問題:

  1. 對於bluemix,當我開始塊鏈服務,實際發生的背後? bluemix是否會啓動一些VM來運行對等節點?
  2. 任何人都曾試圖通過cf應用程序通道推送點?如何解決對等節點的buildpack?
  3. 當對等節點運行時,它正在監聽8080以外的3個端口。在我本地的虛擬機服務器上它是fin。但是我怎樣才能在bluemix中啓用這些端口?

感謝您的想法和貢獻。

+0

Bluemix環境運行該結構併爲您提供一些對等和安全用戶配置文件以供使用。您今天不能推送面料更改。您可以編寫鏈接代碼並將其部署到這些同行。 Bluemix部署在hyperledger之後還有一些提交數字,所以如果您在合約中使用了一些更新的功能(例如GetTxnTimestamp),它將會失敗。 – ValerieLampkin

回答

0

我們考慮過將Hyperledger節點作爲Cloud Foundry中的應用程序運行。可以使用Go,RocksDB,Docker的可執行文件以及其他必要的依賴包創建buildpack。不過也有在配置幾個挑戰:

  1. 除了「對等」的應用程序,泊塢窗妖也應該CF容器內開始(我還沒有測試,如果碼頭工人的工作CF容器內)
  2. 作爲就像默認的CF應用程序僅暴露1個網絡端口一樣 - 我們無法在啓動驗證對等的相同容器中啓動REST端點。解決方法 - 我們可以在應用程序部署時使用-c選項作爲CF中的不同應用程序運行「成員資格服務」,「驗證對等方」和「REST客戶端」。
  3. CF路由器支持的協議數量有限,也有可能是這個級別上的問題。

在應用程序級別上,註冊證書存在問題(只能發佈一次),以防萬一CF重新啓動您的應用程序 - 驗證對等方將無法使用相同證書申請另一個註冊證書。 解決方法 - 可以將證書保存在外部持久性存儲中並在開始時加載它們。在任何情況下,副總裁將在CF剛剛1實例(可擴展性將不會被使用)

因此,我們幾乎不能使用像可擴展性和自動故障切換功能,例如CF好處,而不定製面料的核心。

+0

嗨,我很抱歉,因爲我對hyperledger也很陌生。我可以知道你如何設法在Cloud Foundry中打開多個端口給你的Peer? – xtrycatchx

+0

現在,您無法在公共Cloud Foundry部署中打開多個端口。但應該可以將Fabric組件部署爲單獨的應用程序:將會員服務作爲具有50051端口打開的應用程序進行部署,驗證對等體只能公開一個端口30303,客戶端或不驗證對等端將爲REST請求打開端口。因此,這些組件中的每個組件都將僅使用Cloud Foundry中的一個網絡端口。 –

+0

我假設我們正在談論Hyperledger織物0.6。我對CloudFoundry並不熟悉,但我不確定你想要做什麼是明智的。 Fabric 0.6對等節點自己管理它們的鏈式代碼執行環境 - 即它們用於鏈式代碼執行的Docker容器的生命週期。 CF中的容器可以做到這一點嗎?我知道「Do​​cker嵌套」是可能的,但是CF支持這個嗎? (更不用說結構環境了。)我們的工作是在虛擬機(AWS)中進行設置和部署。這留下了大部分已知的「部署邏輯」。 –

0

我上面的說明一致,碼頭工人的工作CF容器內,只有當我們擁有對application.rest你IBMBluemix應該有適當的VM配置CF有限的端口。

相關問題