2017-06-12 98 views
0

我正在研究IBM塊鏈示例,並在Linux系統上部署了car-lease-demo示例。我無法理解數據庫如何存儲。我發現數據庫所在的位置是「/ var/hyperledger/production」,但沒有找到類似的位置。 任何人都可以解釋我是如何存儲數據的,以及hyperledger結構如何使用數據庫來存儲鍵值對,以及db所在的數據存儲位置在哪裏?IBM Block Chain-汽車租賃演示狀態數據庫位置?

另外我想知道,如果我們可以使用不同的數據庫配置,如Neo4j,MongoDB等NOSQL數據庫?

回答

0

默認實現使用LevelDB作爲數據的後端存儲,並存在於所有對等節點上。您可以在cli模式下輸入泊塢窗容器並親自查看。

是的,您可以將默認DB更改爲任何其他NoSQL DB。以下是使用Hyperledger結構設置CouchDB的示例。如您所見,CouchDB託管在通過一個開放端口鏈接到對等節點的單獨容器中(有關連接的詳細信息,請參閱Docker組合文件)。您可以對其他任何NoSQL DB執行相同的操作,並使用鏈式代碼中正確的PUT和GET API來訪問它們。但是您必須確保數據在所有數據庫中及時複製以保持區塊鏈網絡的一致性。

+0

感謝您的迴應。你能幫我用命令來檢查數據庫中的內容,因爲我不確定數據庫文件位於何處以及如何訪問它。 – Chika

+0

如果您使用的是CouchDB,則可以使用其端口5984上託管的名爲Fauxton的Web界面。請參閱以下內容:http://couchdb.apache.org/fauxton-visual-guide/#intro – gonephishing

+0

LevelDB沒有一個Web界面,但您可以使用第三方服務,使命令行訪問相同。示例第三方服務是這樣的:https://github.com/0x00A/ldb – gonephishing