难度值 difficulty 由系统计算出来,是判断标准;

矿工计算出来的是 powhash,用它和难度比较,如果符合条件,则得到对应 nonce.

start_miner

// request block chain template, see if the tip changes, then continously mine

不断的进行挖矿。

需要:
将交易打包成块(这是一个复杂的过程,细节在此忽略);
获取当前难度 difficulty;
调用下面的方法,不断计算,然后比较。

generate_valid_PoW

// each invoke will be take atleast 250 milliseconds

不断的进行挖矿。

需要:
将区块数据序列化,以用于运算(挖矿);
对上述区块数据进行哈希运算;
运算结果与难度值比较;
如果符合难度,则设置 nonce;
将区块上链(这是一个复杂的过程,细节在此忽略);
广播出去。

results matching ""

    No results matching ""