本節給出了通用存證合約和簡易審批合約的樣本,為您進行智能合約開發提供方便。
通用存證合約
通用存證合約提供了對區塊鏈賬本KV的通用操作介面,支援對資料的讀取、寫入、歷史查詢。您可以訪問鏈碼源碼,並參見打包鏈碼打包成鏈碼包進行使用,也可以直接下載我們已經打包好的鏈碼。
初始化參數
無初始化參數
介面
get
查詢區塊鏈存證資訊中某個key的當前內容。
參數列表
key:需要讀取的存證Key。
傳回值:
成功時,存證合約中key所儲存的當前內容。
失敗時,返回錯誤原因。
put
向區塊鏈中寫入存證資訊<key, value>, 如果存證key已經存在,則返回失敗。
參數列表
key:需要讀取的存證Key。
value:需要存證的資訊。
傳回值:
成功時,返回存證的key。
失敗時,返回錯誤原因。
set
向區塊鏈中寫入存證資訊<key, value>, 如果存證key已經存在,則覆蓋舊的存證內容。
參數列表
key:需要讀取的存證Key。
value:需要存證的資訊。
傳回值:
成功時,返回存證的key。
失敗時,返回錯誤原因。
history
查詢區塊鏈存證資訊中某個key的修改歷史。
參數列表
key:需要讀取的存證Key。
傳回值:
成功時,返回key的修改歷史(JSON編碼)。
失敗時,返回錯誤原因。
簡易審批合約
簡易審批合約提供了基於區塊鏈的簡單任務審批介面,支援建立、查詢和審批任務,當任務的狀態發生變更時,會產生相應的區塊鏈事件。您可以訪問鏈碼源碼,並參見打包鏈碼打包成鏈碼包進行使用,也可以直接下載我們已經打包好的鏈碼。
初始化參數
無初始化參數
資料結構
task
type Task struct {
// 任務名稱
Name string `json:"name"`
// 任務的建立者
Creator string `json:"creator"`
// 任務需要那些使用者同意後,流程才能結束(使用者表示方式: ${MSP_ID}.${USER_NAME})
Requires []string `json:"requires"`
// 當前已經同意該任務的使用者(使用者表示方式: ${MSP_ID}.${USER_NAME})
Approved []string `json:"approved"`
// 任務的描述
Description string `json:"description"`
}介面
create
建立新的任務流。
參數列表
name:任務的名稱。
task:經過JSON編碼的任務內容,需要具有
requires、description兩個欄位。
傳回值:
成功時,返回成功建立的任務名稱。
失敗時,返回錯誤原因。
事件:
觸發事件
event-create-task,事件內容為經過JSON編碼的任務內容。
get
擷取任務流
參數列表
name:任務的名稱。
傳回值:
成功時,返回經過JSON編碼的任務內容。
失敗時,返回錯誤原因。
approve
同意某個任務
參數列表
name:任務的名稱。
傳回值:
成功時,返回經過JSON編碼的任務內容。
失敗時,返回錯誤原因。
事件:
同意任務後,任務滿足結束條件時,觸發事件
event-task-finished,事件內容為經過JSON編碼的任務內容。同意任務後,任務未滿足結束條件時,觸發事件
event-approve-task,事件內容為經過JSON編碼的任務內容。