如何在Hyper-Ledger Fabric 2.0中創(chuàng)建新的加密貨幣
區(qū)塊鏈技術(shù)具有變革性和進(jìn)化性,但在某些情況下,甚至未能留下一定的影響。許多專家普遍認(rèn)為,區(qū)塊鏈將擾亂許多行業(yè),并將徹底改變當(dāng)今許多企業(yè)的經(jīng)營(yíng)方式。
所有業(yè)務(wù)都是采用原始概念形式擁抱區(qū)塊鏈技術(shù)的更具挑戰(zhàn)性的領(lǐng)域之一。特別是當(dāng)必須依靠區(qū)塊鏈技術(shù)來簽訂合約時(shí)。在去中心化網(wǎng)絡(luò)上,雙方共同簽署合同可以公開敏感信息。這些小錯(cuò)誤足以使您的業(yè)務(wù)重回原始時(shí)代。在這一點(diǎn)上,需要一個(gè)智能的解決方案,在一個(gè)混合的環(huán)境中,又可以獨(dú)立工作。
Hyper-Ledger Fabric為企業(yè)提供了這樣的機(jī)會(huì),即使在許可的網(wǎng)絡(luò)中,也可以編寫可訪問性限制的腳本。隨著在分布式賬本技術(shù)上引入非許可區(qū)塊鏈而演變的概念使Hyper-Ledger Fabric如此受歡迎。兄弟們可以輕松簽署合約并交換敏感信息,而不必?fù)?dān)心將信息公開。但是盡管具有所有優(yōu)點(diǎn),但Hyper-Ledger Fabric早期版本中仍然存在灰色區(qū)域,并且隨著更新版本的發(fā)布,這些缺點(diǎn)已得到了解決。在此博客中,我們將討論Hyper-Ledger Fabric 2.0版中的新增功能以及它如何解決以前版本的弊端。
Hyper-Ledger Fabric 2.0版中有哪些新功能?
發(fā)布新的Fabric Chaincode生命周期
在Fabric 2.0 Alpha的新模型中,將引入新的分散式治理,這將釋放一個(gè)在對(duì)等網(wǎng)絡(luò)上安裝Chaincode的新過程。通過此功能,現(xiàn)在多個(gè)組織將通過在Chaincode上設(shè)置不同的參數(shù)來在同一頁(yè)面上達(dá)成一致。Chaincode背書政策是一個(gè)如此聰明的功能,將被引進(jìn)。在背書策略中,命令流將按以下方式發(fā)生:
示例Policy 1
{
“identiTIes”: [
{ “role”: { “name”: “member”, “mspId”: “Org1MSP” }},
{ “role”: { “name”: “member”, “mspId”: “Org2MSP” }}
],
“policy”: {
“1-of”: [{ “signed-by”: 0 }, { “signed-by”: 1 }]
}
}
示例Policy 2
{
“idenTITIes”: [
{ “role”: { “name”: “member”, “mspId”: “Org1MSP” }},
{ “role”: { “name”: “member”, “mspId”: “Org2MSP” }},
{ “role”: { “name”: “admin”, “mspId”: “Org1MSP” }}
],
“policy”: {
“2-of”: [
{ “signed-by”: 2},
{ “1-of”: [{ “signed-by”: 0 }, { “signed-by”: 1 }]}
]
}
}
在這兩個(gè)示例策略中,身份定義了區(qū)塊鏈網(wǎng)絡(luò)的角色和MSP。
同樣,這些政策是由包含nOf格式政策的對(duì)象定義的,該政策也是用于簽注的特定“Signature Set Policy”,其中“ n”是為簽注指定簽名所需的最少簽名數(shù)。
在示例策略1中,有兩個(gè)來自O(shè)rg1MSP和Org2MSP的身份。
“policy”: {
“1-of”: [{ “signed-by”: 0 }, { “signed-by”: 1 }]
}
在定義背書策略時(shí),它應(yīng)該由將在身份數(shù)組(IdenTIty Org1MSP)中標(biāo)識(shí)1的0(具有Role成員)進(jìn)行簽名,或由1(具有Role成員)進(jìn)行標(biāo)識(shí)的2將身份標(biāo)識(shí)給I數(shù)組(Identity Org2MSP)。在功能上,只有當(dāng)交易由Org1MSP或Org2MSP的成員簽名時(shí),區(qū)塊鏈的策略才會(huì)成功。以同樣的方式,示例策略2將指示與此策略相關(guān)的任何交易。 并且只有(i)簽名時(shí),任何更改才會(huì)在區(qū)塊鏈中接受。OrdererMSP的管理員(ii)。Org1MSP或Org2MSP的任何組織的成員。
這就是背書政策在分散的環(huán)境中是如何工作的?,F(xiàn)在回到Fabric Chaincode從現(xiàn)在開始轉(zhuǎn)換示例的方式;
1.協(xié)助多個(gè)組織一致同意Chaincode的任何特定參數(shù)
在以前的版本中,明確提到了Fabric的1.x版本,其中規(guī)定只為一個(gè)組織提供設(shè)置Chaincode所需的參數(shù)能力,以使網(wǎng)絡(luò)正常運(yùn)行。在這種設(shè)置中,只有一個(gè)組織能夠定義Chaincode的參數(shù)。
但是新的Hyper-Ledger Fabric版本2.0完全不同,為所有方提供了更大的靈活性。這樣它將支持區(qū)塊鏈的混合模型和本地模型。因此集中式和分散式兩種環(huán)境都可以得到支持。無(wú)論Chaincode需要一個(gè)成員或多個(gè)成員來認(rèn)可網(wǎng)絡(luò)上的任何策略,然后才能夠轉(zhuǎn)移合約和操作,通過引入這一新功能,一切都將成為可能。
2.Chaincode的升級(jí)過程比以前的版本更安全
在以前的Hyper-Ledger Fabric版本中,只有一個(gè)組織或網(wǎng)絡(luò)中的第一個(gè)組織有權(quán)升級(jí)Chaincode上的事務(wù)。 結(jié)果,網(wǎng)絡(luò)中的任何新進(jìn)的組織別無(wú)選擇,只能下載帶有損壞的Chaincode。
這樣新成員總是要承受交易風(fēng)險(xiǎn)的影響。但是更高版本的Hyper-Ledger Fabric帶來了新的修訂,這將允許在Chaincode上建立共識(shí)。只有在團(tuán)隊(duì)達(dá)成共識(shí)后,新的Chaincode才會(huì)被實(shí)施,以幫助區(qū)塊鏈平臺(tái)根據(jù)業(yè)務(wù)需求運(yùn)行。
3.通過更新簡(jiǎn)化背書策略
網(wǎng)絡(luò)中的鏈無(wú)需時(shí)常重新打包或重新安裝Chaincode,以更改背書策略。有新的默認(rèn)策略可供用戶從大多數(shù)成員中尋求共識(shí)。
4.更好地檢查Chaincode軟件包
讀取可讀tar文件中的Chaincode非常簡(jiǎn)單。因此,網(wǎng)絡(luò)中的節(jié)點(diǎn)可以方便地檢查Chaincode包,并在安裝過程中與網(wǎng)絡(luò)中的其他節(jié)點(diǎn)進(jìn)行協(xié)調(diào)。
在Hyper-Ledger Fabric 2.0版中引入FabToken
在最新版本的Hyper-Ledger Fabric 2.0中,用戶有機(jī)會(huì)使用其資產(chǎn)作為令牌。確切地說,F(xiàn)abToken將是此新版本上可用的用于啟動(dòng)交易的令牌。它使用未花費(fèi)的交易輸出或UTXO模型,以便使用Hyper-Ledger Fabric Network提供的身份和成員資格基礎(chǔ)結(jié)構(gòu)來發(fā)行,轉(zhuǎn)移和贖回令牌。使用FabToken,用戶可以輕松創(chuàng)建新的加密貨幣。同時(shí)將完全簡(jiǎn)化將令牌從一個(gè)用戶轉(zhuǎn)移到另一個(gè)用戶的過程。用戶可以執(zhí)行整個(gè)交易列表,并使用FabToken發(fā)起令牌的完全贖回。
安裝Hyper-Ledger Fabric SDK后,請(qǐng)使用docker映像進(jìn)行快速驗(yàn)證。您需要訪問FabToken目錄以選擇所需的令牌。 為此目的使用此命令:cd$HOME/fabric-samples/fabtoken。
當(dāng)您計(jì)劃使用FabToken制作任何令牌時(shí),要求Fabric網(wǎng)絡(luò)啟動(dòng)并運(yùn)行。使用示例節(jié)點(diǎn)應(yīng)用程序來測(cè)試FabToken,是使用命令fabtoken.js和名為“startFabric.sh”的shell腳本。它將位于您當(dāng)前所在的目錄中。輸入這些代碼后,它將啟動(dòng)Fabric網(wǎng)絡(luò)和JavaScript目錄。您需要安裝“ npm install”。使用命令。/startFabric.sh立即啟動(dòng)FabToken。
要使用FabToken創(chuàng)建令牌,安裝SDK后應(yīng)出現(xiàn)以下屏幕,
1. —fabtoken.js—開始設(shè)置客戶端網(wǎng)絡(luò)對(duì)象已創(chuàng)建客戶端對(duì)象以表示通道
2. 創(chuàng)建了代表peer的客戶端對(duì)象
3. 創(chuàng)建了代表orderer的客戶端對(duì)象
成功安裝客戶端sideToken arg:goldcoinToken arg:1000
開始操作發(fā)行令牌
使用args goldcoin開始發(fā)行令牌,1000End令牌發(fā)行操作,返回{status: ‘SUCCESS’, info: ‘’} — — fabtoken.js —結(jié)束
當(dāng)您給出此命令時(shí),它將啟動(dòng)令牌創(chuàng)建并根據(jù)您的期望幫助您創(chuàng)建令牌。
結(jié)論
創(chuàng)建Hyper-Ledger Fabric的目的是為企業(yè)提供更好的功能。 引入的高級(jí)功能將有助于在不同企業(yè)中使用Hyper-Ledger Fabric,以簡(jiǎn)化并增強(qiáng)他們?cè)诓痪玫膶淼臐摿Α?br />