摘要:阿里云容器服務區塊鏈解決方案第一時間同步升級,在新功能的基礎上,提供了彈性裸金屬服務器神龍內置容器化集成阿里云日志服務等方面的增強。
摘要: 全球開源區塊鏈領域影響最為廣泛的Hyperledger Fabric日前宣布了1.1版本的正式發布,帶來了一系列豐富的新功能以及在安全性、性能與擴展性等方面的顯著提升。阿里云容器服務區塊鏈解決方案第一時間同步升級,在v1.1新功能的基礎上,提供了彈性裸金屬服務器(神龍)、內置容器化Explorer、集成阿里云日志服務等方面的增強。
作為全球開源區塊鏈領域影響最為廣泛的項目之一,超級賬本近日宣布了Hyperledger Fabric v1.1的正式發布。此次升級帶來了一系列豐富的新功能以及在安全性、性能與擴展性等諸多方面的顯著提升。更多詳情可參考下述資料:
Hyperledger Fabric
v1.1官方發布博客:https://www.hyperledger.org/b...
Hyperledger Fabric GitHub源代碼項目:https://github.com/hyperledge...
Hyperledger
Fabric項目路線圖:https://wiki.hyperledger.org/...
與此同時,作為對開源區塊鏈生態的支持,阿里云容器服務區塊鏈解決方案也進行了同步升級。這次升級不僅第一時間在Kubernetes集群上支持Hyperledger Fabric v1.1.0 GA版,并且在以下幾個方面帶來了新的功能增強和使用體驗的優化:
支持新的Node.js類型chaincode和相關示例,以及在國內云環境落地的適配
支持chaincode級別的賬本數據加密新功能和相關示例
支持新的connection profile和自動生成功能
以及其他Hyperledger Fabric v1.1新功能的支持
支持阿里云彈性裸金屬服務器(神龍)
內置容器化的Hyperledger Blockchain Explorer
集成阿里云日志服務
優化區塊鏈網絡刪除過程的數據目錄清理
本文將對這些主要新功能進行技術方面的解讀。在開始之前,我們準備了一段小視頻,可以讓大家快速了解在阿里云容器服務Kubernetes環境中使用該區塊鏈解決方案的大致流程。
新功能:Node.js類型Chaincode支持
在此次Hyperledger Fabric v1.1的升級中,在原有的Golang類型之上(Java類型尚未正式宣布支持),加入了對流行的Node.js編程語言類型的智能合約(即chaincode)的支持。這將進一步擴大和豐富Hyperledger Fabric的應用開發生態,吸引更多的開發者加入到區塊鏈應用的創新中來。
在此基礎上,通過對Fabric的源代碼分析,我們在區塊鏈解決方案中解決了在國內網絡環境中可能遇到的Node.js類型chaincode實例化(instantiation)過程超時失敗、chaincode鏡像無法創建的局限性。
如需體驗Node.js類型的chaincode,可采用CLI方式或者Client SDK方式,通過參數指定chaincode語言類型即可。解決方案中提供了基于官方cli-test.sh的示例腳本、以及基于官方的balance-transfer的client SDK示例程序。
CLI方式的Node.js類型chaincode示例
Node.js類型示例chaincode源代碼位置:
SDK方式的Node.js類型chaincode示例
需要說明的是,由于Node.js應用自身編譯構建的特點,Hyperledger Fabric中Node.js類型的chaincode實例化(instantiation)時間相比Golang類型的要更長,所以在這個環節需要稍作等待。
新功能:Chaincode級別對賬本數據的加密和簽名
Hyperledger Fabric v1.1新增支持在chaincode級別對交易的數據(即StateDB里Key-Value中的Value,通過調用chaincode時傳入)進行加密/解密、簽名/驗證。這樣能實現業務應用將商業敏感數據交給區塊鏈之后,數據全程(包括落地到賬本)在原有的安全機制之上進一步添加了標準的或用戶可擴展的加密算法和簽名算法的保護,進一步提高了數據的安全性。
關于此功能的的官方文檔介紹可參考:
http://hyperledger-fabric.rea...
在容器服務的區塊鏈解決方案中,我們提供了官方的EncCC示例程序用于在CLI環境中運行,方便用戶了解此功能的使用和工作機制。在該示例中,首先對鍵"key1"的值“value1”進行加密并記錄到賬本上;然后讀取鍵"key1"并解密其值,輸出顯示"value1";接著,再對鍵“key2”的值"value2"進行加密以及數字簽名并記錄到賬本上,最后讀取鍵“key2”并解密、驗證簽名得到最終值,輸出顯示"value2"。
需要說明的是,使用該CLI示例程序之前,請先創建對應的channel(例如通過運行cli-tset.sh)。
示例程序源代碼參考:
https://github.com/hyperledge...
新功能:Connection Profile用于Client SDK應用程序
針對不同類型的區塊鏈應用程序有著各不相同的對區塊鏈網絡拓撲和連接信息的描述方式的問題,為了提供更為統一規范的應用連接配置,Hyperledger Fabric v1.1開始支持Connection Profile, 目前主要面向Node.js類型的Client SDK應用程序,未來有望推廣到更多類型的SDK應用上。
在此次區塊鏈方案升級中,也同步支持此功能,并且能夠根據用戶輸入的區塊鏈網絡拓撲配置(channel, peer, orderer, ca等)、公網訪問地址和端口等信息,自動生成Connection Profile應用連接配置文件(即network-config.yaml)并提供給用戶下載。而在我們的Client SDK示例balancer-transfer-app中也通過一個腳本實現一鍵下載所有證書密鑰以及Connection Profile等配置文件。
解決方案自動生成的Connection Profile的位置和部分內容示例如下:
如需進一步了解Connection Profile各字段的說明,可參考以下文檔:
https://github.com/hyperledge...
新功能:支持阿里云彈性裸金屬服務器(神龍)
此次區塊鏈解決方案升級正式支持在阿里云彈性裸金屬服務器(神龍)運行Hyperledger Fabric。阿里云彈性裸金屬服務器可提供與普通物理機無差別的高計算性能,同時還提供物理機級別的安全隔離。這些特性為提升基于區塊鏈業務系統的安全風險防范能力、加強對數據和隱私的保護等方面帶來了堅實的運行環境保證。在此基礎上,彈性裸金屬服務器的高計算性能和彈性水平伸縮能力,結合Hyperledger Fabric代價級的性能和擴展性方面的提升,有望進一步提升區塊鏈應用和系統的業務處理能力。
從使用方式上,我們提供了基本無縫支持的體驗,用戶只需在創建容器服務Kubernetes集群中選擇彈性裸金屬服務器(現階段需用戶提前通過工單開通彈性裸金屬服務器的按量付費類型選擇的白名單)作為worker節點;然后按照標準的區塊鏈解決方案的創建部署流程操作即可。
新功能:內置容器化的區塊鏈瀏覽器
區塊鏈解決方案支持基于標準SDK開發的區塊鏈管控工具、瀏覽器等與區塊鏈網絡連接。在此次升級中,區塊鏈解決方案進一步地將Hyperledger官方開源的Blockchain Explorer 進行了容器化改造,實現了Explorer本身以及其所依賴的MySQL數據庫作為Kubernetes的service和deployment內置于解決方案中(默認啟用,可設置禁用),隨著區塊鏈網絡的創建實現自動配置、部署、啟動和通過負載均衡(SLB)對外提供Web圖形化的區塊鏈網絡業務交易監控服務。
需要說明的是,區塊鏈瀏覽器的使用前提是先創建出channel(如通過cli-test.sh)。
新功能:集成阿里云日志服務
區塊鏈解決方案原生支持容器服務控制臺的日志功能,以及Kubernetes的kubectl logs命令查看功能。利用前者可以在Web界面上便捷地查看區塊鏈網絡中Peer、Orderer、CA、Kafka、Zookeeper等節點的容器日志信息,一個示例如下:
在此基礎上,最新版的容器服務解決方案進一步支持與阿里云日志服務進行集成,為企業客戶提供如日志存儲、實時索引/查詢/分析、日志告警、可視化報表等更高級的日志功能。集成的關鍵參數可在創建部署區塊鏈網絡的頁面進行直接設置,具體使用方法可參考該方案的產品文檔。
在阿里云日志服務控制臺查詢和分析日志的效果如下圖所示。關于日志服務完整的查詢分析語法以及更多高級功能說明, 可參考日志服務的產品文檔。
新功能:刪除流程數據目錄處理優化
考慮到部分區塊鏈解決方案的用戶在開發測試環境需要頻繁創建和刪除區塊鏈網絡,為了進一步提升效率,這次方案升級優化了對數據目錄清理的優化。具體來說,當區塊鏈網絡被刪除(例如使用helm delete命令)的同時,相應的數據目錄名會被自動添加以下后綴:-deleted-當前時間戳。之所以不直接刪除,主要是為了防范人為誤操作的風險,以及滿足部分用戶希望復用原有數據的目的。
假設原數據目錄為:
/data/fabric/network01
則區塊鏈網絡刪除后,數據目錄會被重命名為類似如下的名字:
/data/fabric/network01-deleted-2018-03-21-041756
這樣便能進一步優化用戶的區塊鏈創建-刪除-創建流程上的操作體驗了(因為有用戶需要頻繁進行此類操作進行開發調試)。此外,如需徹底清理數據目錄以釋放存儲空間,可手工運行rm命令或結合自動化腳本很方便地實現。
總結
容器服務區塊鏈解決方案自2017年10月正式發布以來,獲得了為數眾多的開發者和來自零售、金融、制造、多媒體等行業的企業用戶的認可和采用,基于解決方案提供的企業級區塊鏈開發測試環境快速地進行基于區塊鏈的業務創新應用的打造。隨著此次Hyperledger Fabric v1.1和區塊鏈解決方案的升級,將進一步幫助我們的用戶打造功能更完備、性能更高、安全性更強、易用性更好的企業級區塊鏈業務應用。
原文鏈接
閱讀更多干貨好文,請關注掃描以下二維碼:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24030.html
摘要:紙貴科技把聯盟鏈網絡和對外的應用部署在阿里云的容器服務之上,同時借助容器服務控制臺和日志服務,能夠實時監測系統運行狀態。 摘要: 區塊鏈如何護航內容版權? 區塊鏈已經成為業界內外家喻戶曉的一門技術,很多企業已經開始嘗試將區塊鏈應用于不同場景。目前,開源的Hyperledger Fabric區塊鏈技術與容器技術的應用組合已成為一種經典的區塊鏈方案,紙貴科技選用阿里云容器服務Kuberne...
摘要:比特幣和以太幣屬于一類區塊鏈,我們將其歸類為公共無許可的區塊鏈技術。例如,在單個企業中部署時,或由受信任的權威機構運作,完全拜占庭容錯的共識可能被認為是不必要的,并且對性能和吞吐量造成過度的拖累。 介紹 一般而言,區塊鏈是一個不可變的交易分類賬,維護在一個分布式對等節點網絡中。這些節點通過應用已經由共識協議驗證的交易來維護分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊...
摘要:本文首發于深入淺出區塊鏈社區原文鏈接聯盟鏈初識以及環境搭建流程原文已更新,請讀者前往原文閱讀這篇文章首先簡單介紹了聯盟鏈是什么,再詳細的介紹了環境搭建的整個流程。 本文首發于深入淺出區塊鏈社區原文鏈接:聯盟鏈初識以及Fabric環境搭建流程原文已更新,請讀者前往原文閱讀 這篇文章首先簡單介紹了聯盟鏈是什么,再詳細的介紹了Fabric環境搭建的整個流程。 區塊鏈分類: 以參與方式分類,區...
摘要:作為系列的新篇章,我選擇從超級賬本的開始。為什么選擇超級賬本作為起點我在之前的文章中曾說過會從超級賬本入手開始區塊鏈的學習和實踐,同時也給出了個人的理由。檢查事務提議的響應。為了降低區塊鏈應用的開發難度,超級賬本項目又引入了。 本著以教帶學,Learning by Doing的想法,我于上周加入了Bob組織的HiBlock區塊鏈技術布道群。這個群可不太好混,群規要求每個成員必需每周有輸...
摘要:企業區塊鏈平臺企業級許可的分布式分類賬平臺,為廣泛的行業用例提供模塊化和多功能性。這些節點通過應用已經由共識協議驗證的交易來維護分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊中。 企業區塊鏈平臺 企業級許可的分布式分類賬平臺,為廣泛的行業用例提供模塊化和多功能性。 介紹 一般而言,區塊鏈是一個不可變的交易分類賬,維護在一個分布式對等節點網絡中。這些節點通過應用已經由共...
閱讀 1265·2021-10-14 09:50
閱讀 1566·2019-08-30 15:54
閱讀 1022·2019-08-30 11:22
閱讀 2916·2019-08-30 10:50
閱讀 1800·2019-08-29 18:39
閱讀 3048·2019-08-29 13:07
閱讀 2078·2019-08-28 17:54
閱讀 751·2019-08-26 17:44