MetaForce佛薩奇系統開發技術流程(成熟程式碼)佛薩奇2.0原始碼部署教程
在Hyperledger Fabric中,鏈碼一般分為:
系統鏈碼
使用者鏈碼
系統鏈碼
系統鏈碼負責Fabric節點自身的處理邏輯,包括系統配置、背書、校驗等工作。系統鏈碼僅支援Go語言,在Peer節點啟動時會自動完成註冊和部署,所以安裝,例項化和升級不適用於系統鏈碼。
Init函式在鏈碼例項化以及升級的時候會被呼叫。在實現Init函式的過程中,可使用Go語言版本的合約API列表來對引數和分散式賬本進行操作。
func(t*SimpleChaincode)Init(stub shim.ChaincodeStubInterface)peer.Response{
fmt.Println("ex02 Init")
//呼叫GetFunctionAndParameters方法對引數進行解析
_,args:=stub.GetFunctionAndParameters()
var A,B string//Entities
var Aval,Bval int//Asset holdings
var err error
if len(args)!=4{
return shim.Error("Incorrect number of arguments.Expecting 4")
}
//初始化相關資料
A=args[0]
Aval,err=strconv.Atoi(args[1])
if err!=nil{
return shim.Error("Expecting integer value for asset holding")
}
B=args[2]
Bval,err=strconv.Atoi(args[3])
if err!=nil{
return shim.Error("Expecting integer value for asset holding")
}
fmt.Printf("Aval=%d,Bval=%dn",Aval,Bval)
//呼叫PutState方法將資料寫入賬本中
err=stub.PutState(A,[]byte(strconv.Itoa(Aval)))
if err!=nil{
return shim.Error(err.Error())
}
err=stub.PutState(B,[]byte(strconv.Itoa(Bval)))
if err!=nil{
return shim.Error(err.Error())
}
return shim.Success(nil)
}
本示例要求使用者輸入的引數為KEY1_NAME,VALUE1,KEY2_NAME,VALUE2,並初始化2個鍵值對,呼叫PutState將資料寫入分散式賬本中。
Invoke示例
Invoke函式是對使用者具體業務邏輯的實現,使用者可以根據不同的業務處理邏輯,呼叫不用的業務函式,如invoke,delete和query函式。
//Invoke把使用者呼叫的function細分到幾個子function,包含invoke,delete和query
func(t*SimpleChaincode)Invoke(stub shim.ChaincodeStubInterface)peer.Response{
fmt.Println("ex02 Invoke")
//呼叫GetFunctionAndParameters方法對引數進行解析
function,args:=stub.GetFunctionAndParameters()
if function=="invoke"{
//將A的資產轉移X個單位給B
return t.invoke(stub,args)
}else if function=="delete"{
//從狀態中刪除實體
return t.delete(stub,args)
}else if function=="query"{
//老的“Query”功能可以在呼叫中實現
return t.query(stub,args)
}
return shim.Error("Invalid invoke function name.Expecting"invoke""delete""query"")
}
系統鏈碼主要包括以下幾種:
生命週期系統鏈碼(LSCC):Lifecycle System Chaincode,負責對使用者鏈碼的生命週期進行管理。
配置系統鏈碼(CSCC):Configuration System Chaincode,負責處理Peer端的Channel配置。
查詢系統鏈碼(QSCC):Query System Chaincode,提供賬本查詢API,如獲取區塊和交易等資訊。
Go語言的鏈碼主要由以下方法組成:
//Chaincode interface must be implemented by all chaincodes.The fabric runs
//the transactions by calling these functions as specified.
type Chaincode interface{
//Init is called during Instantiate transaction after the chaincode container
//has been established for the first time,allowing the chaincode to
//initialize its internal data
Init(stub ChaincodeStubInterface)peer.Response
//Invoke is called to update or query the ledger in a proposal transaction.
//Updated state variables are not committed to the ledger until the
//transaction is committed.
Invoke(stub ChaincodeStubInterface)peer.Response
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016646/viewspace-2933750/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 佛薩奇2.0開發參考版丨佛薩奇2.0系統開發(成熟及專案)丨佛薩奇2.0系統原始碼部署原始碼
- 佛薩奇2.0系統丨佛薩奇2.0系統開發(功能版)丨佛薩奇2.0開發原始碼案例部署原始碼
- 佛薩奇原始碼/互助矩陣/佛薩奇2.0聊天/系統開發技術原始碼矩陣
- Metaforce佛薩奇2.0開發詳細版丨Metaforce佛薩奇2.0系統開發(開發功能及原始碼)原始碼
- 馬蹄鏈佛薩奇系統開發2.0佛薩奇系統開發原始碼部署原始碼
- 佛薩奇2.0聊天交友/系統開發技術/佛薩奇原始碼/互助矩陣原始碼矩陣
- 佛薩奇開發原始碼丨佛薩奇系統開發案例丨智慧合約佛薩奇開發技術程式碼原始碼
- MetaForce佛薩奇2.0系統丨MetaForce佛薩奇2.0系統開發(方案及詳細)
- MetaForce佛薩奇系統2.0開發技術分析
- 2.0新版佛薩奇開發系統|佛薩奇開發DAPP原始碼搭建APP原始碼
- 佛薩奇原始碼|佛薩奇2.0合約|佛薩奇矩陣公排模式開發系統原始碼矩陣模式
- 佛薩奇系統開發(原始碼部署)丨META FORCE佛薩奇2.0系統開發技術詳細版本原始碼
- 佛薩奇公排互助系統開發丨佛薩奇原始碼丨佛薩奇程式碼分析原始碼
- 佛薩奇metaforce原始碼系統開發搭建原始碼
- Force佛薩奇2.0系統開發(成熟原始碼)原力佛薩奇系統開發專案方案原始碼
- 佛薩奇2.0互助分紅開發丨佛薩奇系統開發原始碼丨佛薩奇2.0運營版原始碼
- Forsage佛薩奇2.0魔豹聯盟系統技術開發分析(佛薩奇2.0原始碼版)原始碼
- FORSAGE(佛薩奇)系統開發,公排佛薩奇2.0原始碼開發搭建原始碼
- 佛薩奇2.0MetaForce系統技術開發DAPPAPP
- 佛薩奇(Forsage)系統開發/技術原始碼/佛薩奇開發詳情分析原始碼
- MetaForce佛薩奇開發原理丨MetaForce佛薩奇系統開發(2.0智慧合約開發)
- Polygon馬蹄鏈佛薩奇2.0開發|佛薩奇原始碼合約部署Go原始碼
- 智慧合約佛薩奇2.0開發,佛薩奇系統原始碼鏈上搭建原始碼
- 佛薩奇原始碼丨Force佛薩奇2.0系統合約開發講解丨Python技術原始碼Python
- 現成metaforce佛薩奇2.0系統原始碼搭建(開發案例)原始碼
- MetaForce佛薩奇2.0系統技術開發程式設計(技術示例)程式設計
- MetaForce佛薩奇系統開發原始碼(升級版)原始碼
- 佛薩奇2.0開發原理丨佛薩奇2.0智慧合約系統開發詳情版丨(原始碼部署)原始碼
- 深度分析MetaForce原力元宇宙佛薩奇2.0系統開發技術原理(程式碼部署)元宇宙
- MetaForce佛薩奇2.0系統開發模式[原始碼合約例項]模式原始碼
- metaforce2.0佛薩奇DAPP系統開發搭建(現成原始碼)APP原始碼
- 佛薩奇2.0開發升級版,metaforce佛薩奇2.0系統開發(開發方案及詳細)
- 佛薩奇2.0系統DAPP開發丨原始碼丨佛薩奇Solidity開發編寫示例APP原始碼Solid
- NFT智慧合約MetaForce佛薩奇系統開發原始碼原始碼
- MetaForce佛薩奇系統開發現成原始碼搭建案例原始碼
- MetaForce佛薩奇系統原始碼開發搭建馬蹄鏈原始碼
- 佛薩奇Forsage運營版2.0系統開發技術丨佛薩奇2.0魔豹聯盟程式碼程式設計程式設計
- MetaForce佛薩奇系統開發合約技術搭建