(1) | type Chaincode struct { |
(2) | } |
(3) | type Teacher struct { |
(4) | Name string ‘json:”name”’ |
(5) | University string ‘json:”university”’ |
(6) | Course string ‘json:”course”’ |
(7) | } |
(8) | type Student struct { |
(9) | Name string ‘json:”name”’ |
(10) | University string ‘json:”university”’ |
(11) | Hash string ‘json:”hash”’ |
(12) | Grade int ‘json:”grade”’ |
(13) | Credit int ‘json:”credit”’ |
(14) | } |
(15) | func (t ∗Chaincode) Init(stub shim.ChaincodeStubInterface) peer.Response { |
(16) | return shim.Success(nil) |
(17) | } |
(18) | func (t ∗Chaincode) Invoke(stub shim.ChaincodeStubInterface) peer.Response { |
(19) | function, args: = stub.GetFunctionAndParameters() |
(20) | if function = = “CheckCourse” { |
(21) | return t.CheckCourse(stub, args) |
(22) | } else if function = = “LearnCourse” { |
(23) | return t.LearnCourse(stub, args) |
(24) | } else if function = = “WorkUpload” { |
(25) | return t.WorkUpload(stub, args) |
(26) | } else if function = = “AddGrade” { |
(27) | return t.AddGrade(stub, args) |
(28) | } else if function = = “CheckStudent” { |
(29) | return t.CheckStudent(stub, args) |
(30) | } else if function = = “AwardCredit” { |
(31) | return t.AwardCredit(stub, args) |
(32) | } |
(33) | return shim.Error(“Invalid Smart Contract function name. “) |
(34) | } |