本節給出了通用存證合約和簡易審批合約的示例,為您進行智能合約開發提供方便。
通用存證合約
通用存證合約提供了對區塊鏈賬本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編碼的任務內容。