慕斯8105464
2018-11-09 13:23
老师为什么我运行的结果是invalid block 这是怎么引起的?
调试这个函数试试,看看是那个返回false
func isValid(newBlcok Block, oldBlock Block) bool {
if newBlcok.Index-1 != int64(oldBlock.Index) {
return false
}
if newBlcok.PreBlockHash != oldBlock.Hash {
return false
}
if calculateHash(newBlcok) != newBlcok.Hash {
return false
}
return true
}
Block结构体中的GenerateNewBlock函数中的hash必须等data赋值完之后再计算,顺序换一下就可以了
用GO语言构建自己的区块链
22090 学习 · 41 问题
相似问题