美文网首页
【区块链挖矿】

【区块链挖矿】

作者: michaelYH | 来源:发表于2018-07-25 19:18 被阅读0次

挖矿的过程就是重复计算区块头的hash,不断修改随机数nonce,直到计算的值小于难度目标bits计算出来的hash

version 版本号

hashprevblock前一个区块的hash

hashMerkleroot交易Merkle树根

timestamp时间戳

bits难度

nonce随机数

挖到的条件为前n个比特位全部为0,n越大,难度越大。

举例12552

#125552

version = '01000000'

pre_hash='00000000000008a3a41b85b8b29ad444def299fee21793cd8b9e567eab02cd81'

merkle_root='2b12fcf1b09288fcaff797d71e950e71ae42b91e8bdb2304758dfcffc2b620e3'

time='1305998791'

bits='1a44b9f2'

nonce='1700635399'==>10进制转换成16进制==>9546a142==>42a14695

header_hex=version+pre_hash+merkle_root+time+bits+nonce

经过两次hash256算法以及转码,得出结果:

1dbd981fe6985776b644b173a4d0385ddc1aa2a829688d1e00000000000000

将16进制的大小端颠倒顺序,得出结果:

000000000000001e8d........

高度为125552的区块的目标hash值为:

bits='1a44b9f2'

coefficient系数,coefficient=0x44b9f2

exponent指数:exponent=0x17

目标hash值=coefficientMath.pow(2,8(exponent-3))

计算值<目标hash值,OK,符合规范,证明挖到了此区块。

相关文章

网友评论

      本文标题:【区块链挖矿】

      本文链接:https://www.haomeiwen.com/subject/eesmmftx.html