欢迎光临散文网 会员登陆 & 注册

GOCN社区Go高级工程师实战营

2022-09-25 23:38 作者:绿兔子2  | 我要投稿

验证哈希是否符合PoW

/** 验证哈希的前缀是否包含difficulty个0  已报名Go底部评 */func isHashValid(hash string, difficulty int) bool {   prefix := strings.Repeat("0", difficulty)   return strings.HasPrefix(hash, prefix)}

选择长链

因为在实际场景中,区块链可能会产生分叉,造成A和B长短不一的情况,故而选择长的作为新链

/** 选择长链作为正确的链 */ func replaceChain(newBlocks []Block) {   if len(newBlocks) > len(BlockChain) { // 计算数组长度      BlockChain = newBlocks   } }



GOCN社区Go高级工程师实战营的评论 (共 条)

分享到微博请遵守国家法律