问答详情
源自:3-3 创建Blockchain

运行结果是invalid block

老师为什么我运行的结果是invalid block  这是怎么引起的?


提问者:慕斯8105464 2018-11-09 13:23

个回答

  • 寻找09之夏
    2019-06-20 22:41:13

    调试这个函数试试,看看是那个返回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
    }

  • zoe222
    2018-12-04 18:49:52

    Block结构体中的GenerateNewBlock函数中的hash必须等data赋值完之后再计算,顺序换一下就可以了