MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / GenerateAnswer

Function GenerateAnswer

sqlchain/storageproof.go:101–115  ·  view source on GitHub ↗

GenerateAnswer will select specified record for proving. In order to generate a unique answer which is different with other nodes' answer, we hash(record + nodeID) as the answer.

(answers []Answer, previousBlock StorageProofBlock, node proto.Node)

Source from the content-addressed store, hash-verified

99// In order to generate a unique answer which is different with other nodes' answer,
100// we hash(record + nodeID) as the answer.
101func GenerateAnswer(answers []Answer, previousBlock StorageProofBlock, node proto.Node) (*Answer, error) {
102 sqlIndex, err := getNextPuzzle(answers, previousBlock)
103 if err != nil {
104 return nil, err
105 }
106 record := []byte(selectRecord(sqlIndex))
107 // check if node is valid
108 if len(node.ID) <= 0 {
109 return nil, errors.New("invalid node format")
110 }
111 answer := append(record, []byte(node.ID)...)
112
113 answerHash := hash.HashH(answer)
114 return NewAnswer(previousBlock.ID, node.ID, answerHash), nil
115}

Callers 1

TestGenerateAnswerFunction · 0.85

Calls 5

HashHFunction · 0.92
getNextPuzzleFunction · 0.85
selectRecordFunction · 0.85
NewAnswerFunction · 0.85
NewMethod · 0.65

Tested by 1

TestGenerateAnswerFunction · 0.68