示例四:學歷認證
Last updated
Was this helpful?
Last updated
Was this helpful?
該 實現了一個簡單的徵信管理的案例。針對於學歷認證領域,由於條約公開,在條約外無法隨意篡改的特性,天然具備穩定性和中立性。
該智能合約中三種角色如下:
學校
個人
需要學歷認證的機構或公司
學校可以根據相關信息在區塊鏈上為某位個人授予學歷,相關機構可以查詢某人的學歷信息,由於使用私鑰簽名,確保了信息的真實有效。 為了簡單,儘量簡化相關的業務,另未完成學業的學生因違紀或外出創業退學,學校可以修改其相應的學歷信息。
賬戶私鑰應該由安裝在本地的客戶端生成,本例中為了簡便,使用模擬私鑰和公鑰。
學校
名稱
所在位置
賬號地址
賬號公鑰
賬戶私鑰
學校學生
個人
姓名
賬號地址
過往學歷
學歷信息
學歷信息編號
就讀學校
就讀年份
完成就讀年份
就讀狀態 // 0:畢業 1:退學
修改記錄(入學也相當於一種修改記錄)
編號
學校賬戶地址(一般根據賬戶地址可以算出公鑰地址,然後可以進行校驗)
學校簽名
個人賬戶地址
個人公鑰地址(個人不需要公鑰地址)
修改時間
修改操作// 0:正常畢業 1:退學 2:入學
對學歷操作信息所有的操作都歸為記錄。
init
初始化函數
invoke
調用合約內部的函數
updateDiploma
由學校更新學生學歷信息,並簽名(返回記錄信息)
enrollStudent
學校招生(返回學校信息)
createSchool
添加一名新學校
createStudent
添加一名新學生
getStudentByAddress
通過學生的賬號地址訪問學生的學歷信息
getRecordById
通過Id獲取記錄
getRecords
獲取全部記錄(如果記錄數大於 10,返回前 10 個)
getSchoolByAddress
通過學校賬號地址獲取學校的信息
getBackgroundById
通過學歷 Id 獲取所存儲的學歷信息
writeRecord
寫入記錄
writeSchool
寫入新創建的學校
writeStudent
寫入新創建的學生
createSchool
request參數:
response參數:
createStudent
request參數:
response參數:
updateDiploma
request參數
response參數
enrollStudent
request參數:
response參數
getStudentByAddress
request參數
response參數
getRecordById
request參數
response參數
getRecords
response參數
getSchoolByAddress
request參數
response參數
getBackgroundById
request參數
response參數