百度超級鏈xuperchain初學筆記

百度超級鏈xuperchain初學筆記(一)

最近試用了一下百度開源的xuperchain,在環境搭建、TDPOS提案、投票的操作上遇到了一些問題,一直沒法解決。我先把這些問題記錄下來,留到以後解決。

實驗環境

問題情況

由於是第一次使用XuperChain,所以只做了一些基礎的賬號操作、共識機制配置,並沒有嘗試智能合約的部署。儘管如此,依然遇到了不少問題。

超級鏈環境搭建

依據 超級鏈學院視頻教程的操作,先將源代碼git clone到本地,然後切換分支到最新版本v3.7,使用make編譯。
創建node1,node2,node3三個節點,修改端口,修改yaml配置文件(具體操作不在贅述),初始化node1,node2成爲礦工節點出塊,當我在啓動xchain的時候就遇到了問題,主要有以下幾個問題

  1. 提示proposer_num不一致,導致xchain無法啓動
  2. p2p網絡連接有問題,導致xchain無法
  3. netURL無法獲取

不知道爲啥,我在邊寫博客邊復現的過程,這些問題都沒發生!!!,我的操作和之前完全相同!只能說是玄學。

關鍵是netURL的獲取,需要先建鏈,並啓動節點後才能獲取netURL

root@ubuntu: ./xchain-cli createChain
root@ubuntu: .nohup /xchain &

root@ubuntu: ./xchain-cli netURL get
"ip4/127.0.0.1/tcp/4702/p2p/QM3JK23kafkIJmRE8PFDKNjiLI8"

使用默認配置的node1節點所有信息是硬編碼的,netURL可以不用先啓動節點再獲取。但node2需要在重新生成密鑰後,先啓動一次獲得netURL,再刪除data/blockchain/目錄下的全部內容
於是yaml配置文件中init_proposer_netURL就可以填入node的網絡節點地址了。

至於問題一,在data/config/xuper.json中需要修改的地方有三處:

  • “proposer_num” 的值修改爲2
  • 添加"init_proposer":{ “1”: [ node1的地址node2的地址 ]}
  • 添加"init_proposer_neturl":{ “1”: [ node1的netURLnode2的netURL ]}

全部節點配置文件改完後,能否生效,全靠玄學。寫文章復現的時候我成功,那之後呢?我不清楚。

TDPOS提案、投票

這裏 超級鏈學院視頻教程最新的官方文檔(latest版本)就有了區別。前者使用的xuperchan是v3.1版本,發起提案只需要普通的transfer交易就可以,而後者需要多重簽名。我是按照官方文檔操作的,結果很失敗,雖然交易信息可以在區塊鏈上查到,但是執行xchain-cli tdpos的查詢命令卻始終找不到記錄,一直沒能解決。

智能合約

還沒部署,等到我的第二篇筆記,在完成這部分內容的學習

感想

學習新工具、新語言、新技術的時候總會碰上玄學問題,明明操作步驟完全一致,卻總會得到不一樣的結果。xuperchain是我接觸的第一個區塊鏈產品,它的文檔其實介紹地並不全面,各種配置文件的設置只能靠實驗和猜測,尤其它的開放網絡需要真金白銀才能部署、運行智能合約,實在令人反感。
數字貨幣不等於區塊鏈,但使用區塊鏈技術要花費真正的人民幣……

我真心覺得區塊鏈技術沒有人工智能、5G、大數據有前途。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章