所以,我有以下代码来计算区块链中块的难度。
// 'index' is the block index passed through, will increment from 0 onwards
var BASE_DIFFICULTY = Number.MAX_SAFE_INTEGER;
var EVERY_X_BLOCKS = 1000;
var POW_CURVE = 5;
return Math.max(
Math.floor(BASE_DIFFICULTY / Math.pow(
Math.floor((index + 1) / EVERY_X_BLOCKS) + 1
, POW_CURVE)
), 0);
我的问题是"这看起来不正确?"因为价值似乎从9007199254740991
开始,即MAX_SAFE_INTEGER
......我显然在这里遗漏了一些傻事......
我从一个准系统区块链的在线实现中得到了这个代码,但我的印象是,随着时间的推移,这个问题会越来越严重:/
感谢帮助和指点玩家娃娃!