上期咱們講了在基於比原開發過程當中鏈外存儲能夠用分佈式存儲IPFS,這期咱們還給你們介紹另一種鏈外存儲的解決方案。bigchaindb:https://www.bigchaindb.com,下面咱們講一下集成過程。git
比原相關資料:https://github.com/Bytom-Community/Bytom_Docsgithub
搭建bytom節點有不少方式,而後開啓RPC調用模式。這裏推薦用docker搭建比原節點: docker搭建比原節點,同時開啓RPC訪問模式(即終端交互模式)。golang
我這裏都是在本地操做,因此對應的端口是:9888。啓動好之後咱們在postman裏請求測試一下,以下圖:docker
說明咱們已經搭建好了比原節點,而且能夠進行遠程調用。下面咱們用程序去調用比原節點:數據庫
BigchainDB是集區塊鏈去中介化等特性和分佈式數據庫吞吐量高等特性的一款可擴展的區塊鏈數據庫。代碼託管在github上:https://github.com/bigchaindb/bigchaindb網絡
BigchainDB官網是:https://www.bigchaindb.com 官網有不少資料,是學習BigchinDB的不二去處!分佈式
要想深刻研究BigchianDB,能夠閱讀BigchainDB白皮書《BigchainDB:A Scalable Blockchain Database》能夠https://www.bigchaindb.com/whitepaper/處下載到。 好,開始搭一個獨立的BigchianDB節點!post
搭建節點請參考:https://blog.csdn.net/q563730343/article/details/78654314?utm_source=blogxgwz8學習
爲了方便,這裏咱們直接使用bigchaindb的測試網絡,若是你是本身開發的話推薦本身搭建多節點。 測試網絡地址:https://test.bigchaindb.com,咱們用postman請求測試一下,以下圖:區塊鏈
上圖是咱們請求bigchaindb測試網絡的,咱們能夠看到測試網路已經正常返回。如今咱們就能夠去找對應的開發插件進行開發。
上面咱們已經搭建好了比原和bigchaindb的節點,下面咱們進行實際的開發。
首先咱們去找符合本身開發語言的sdk,這樣咱們能夠快速上手開發。bigchaindb的sdk有不少:https://github.com/bigchaindb,請本身去篩選符合本身的sdk。我這裏用go語言的sdk:https://github.com/bigchaindb/go-bigchaindb-driver
首先將本身須要的插件包下載下來放在本身的環境變量下面(我這裏以golang 插件爲例),而後咱們跟bigchaindb的測試網進行鏈接。可讓咱們的程序遠程調用bigchaindb測試網,與之進行交互。詳細的代碼咱們能夠參考項目裏面的文件,以下圖:
鏈接好了之後咱們在比原上創在一個資產,咱們調用create-asset接口:https://docs.bytom.io/mydoc_rpc_call.cn#create-asset。而後建立了資產BYTOM資產,看下圖咱們已經建立成功了資產。而後咱們將這個資產在bigchaindb上去建立並進行交易,以下圖:
上面咱們已經在比原鏈上建立了資產,而後咱們將這筆資產在bigchaindb上建立。這樣比原鏈上的資產就能夠映射到bigchaindb中作一個存儲,以及附帶大量的資產憑證信息。整個資產的流轉信息都存儲在bigchaindb中。下圖是咱們用程序去建立交易資產:
資產建立好了之後咱們就將資產存儲到bigchaindb中,而後咱們請求bigchaindb就能夠返回咱們建立的資產。
接下來咱們就能夠經過相似的方法去對咱們的資產進行變動,流轉。每一次流轉變動返回的hsah都會經過比原上的交易存儲,資產的詳細整個流轉記錄都會存儲在bigchaindb中,能夠有效減小主鏈的數據。並提高效率。
目前項目還不完整,僅供參考;項目地址:https://github.com/BytomFans/bytom-bdb