Сейчас, вот код, который я использую:
Код:
// переменная р = целевая частота * * 1000 / Math.pow (2256);
// переменная = TXT "<таблица граница = «1»>
// <тр стиль = «начертание шрифта: жирный»> <тд>Вероятность тд> <тд>Время тд> тр>\ п"+"
// <тр> <тд>В среднем тд> <тд>"+ GetHumanTime (1 / р) +" тд> тр>\ п"+ GetRow (0,50, р) + GetRow (0,95, р) +"Таблица>";
//document.getElementById('answer').innerHTML = TXT;
// функция GetRow (вероятностный, р) {возвращение "<тр><тд>"+ 100 * + пробы"% тд><тд>"+ GetHumanTime (-Math.log (1-проб) / р) +" тд> тр>\ п";
bcscale (256);
$ А = bcsub (bcpow (2256), 1);
$ Ь = bcmul (bcpow (2,32), $ сложности);
$ Целевой = bcdiv ($ а, $ б); // мишень
$ = Чнс bcdiv ($ цель, bcpow (2256)); // вероятность в хэш
если (Исеть ($ _ GET ["р"]) && $ _GET ["р"знак равно "") {
$ Ставка = $ _GET ["р"];
если (is_numeric ($ ставка)) {
Функция humantime ($ сек) {
если ($ секунд<0) возвращает ложь;
$ Т = (целое) ($ сек / 60); $ S = $ 60 сек%; $ S = ($ s <= 9)? "0 $ S" : $ S;
$ H = (целое) ($ м / 60); $ M = $ 60% м; $ Т = ($ м <= 9)? "0 $ м" : $ М;
$ D = (целое) ($ ч / 24); $ Ч = $ 24% ч;
вернуть $ D."д $ ч: $ м: $ s";
}
эхо "http://bitcointalk.org/index.php?topic=471.0";Выход;
// Где это пойти?
// Для того, чтобы вычислить количество хэшей, необходимых для достижения вероятности успеха P_targ, вы хотите, п >= Log (P_targ) / журнал (1-P)
// Таким образом, время, необходимое есть (журнал (P_targ) / журнал (1-Р)) / частота
// Для того, чтобы вычислить вероятность в секунду, вы хотите, 1- (1-р) ^ скорость, где р есть вероятность один хэш является правильным
// $ имп = bcdiv (bcmul ($ цель, 1000), bcpow (2256)); // вероятность в секунду (в зависимости от bd_ это неправильно)
bcscale (16); // Следующий расчет занимает слишком много времени для более высоких разрядов
$ Имп = bcsub (1, bcpow (bcsub (1, $ ПРК), $ ставка)); // вероятность в секунду
// эхо "probabiliy в секунду == 1- (1-р) ^ скорости == 1- (1- $ ПРК) ^ $ ставка == $ ВПР";Выход;
// Комментарий следующая строка для 256-бит данных
bcscale (16);
$ Имп = bcmul ($ имп, $ ставка);
// $ имп = $ имп;
$ EtaAvg = humantime (bcdiv (1, $ PPR));
$ Eta25 = humantime (bcdiv (-log (+0,75), $ PPR));
$ Eta50 = humantime (bcdiv (-log (0,5), $ PPR));
$ Eta75 = humantime (bcdiv (-log (+0,25), $ PPR));
$ Eta95 = humantime (bcdiv (-log (+0,05), $ PPR));
$ Eta99 = humantime (bcdiv (-log (+0,01), $ PPR));
эхо "ProbabilityPerSecond ($ PPR) Среднее ($ etaAvg) 25% ($ eta25) 50% ($ eta50) 75% ($ eta75) 95% ($ eta95) 99% ($ eta99)";
} Еще эхо "Эта команда не требует или не аргумент или числовой аргумент, представляющий Хаш / сек.";
}
еще {
bcscale (32);
$ = Чнс bcmul ($ РРН, 1);
эхо "ProbabilityPerHash ($ ПРК)";
}
// переменная = TXT "<таблица граница = «1»>
// <тр стиль = «начертание шрифта: жирный»> <тд>Вероятность тд> <тд>Время тд> тр>\ п"+"
// <тр> <тд>В среднем тд> <тд>"+ GetHumanTime (1 / р) +" тд> тр>\ п"+ GetRow (0,50, р) + GetRow (0,95, р) +"Таблица>";
//document.getElementById('answer').innerHTML = TXT;
// функция GetRow (вероятностный, р) {возвращение "<тр><тд>"+ 100 * + пробы"% тд><тд>"+ GetHumanTime (-Math.log (1-проб) / р) +" тд> тр>\ п";
bcscale (256);
$ А = bcsub (bcpow (2256), 1);
$ Ь = bcmul (bcpow (2,32), $ сложности);
$ Целевой = bcdiv ($ а, $ б); // мишень
$ = Чнс bcdiv ($ цель, bcpow (2256)); // вероятность в хэш
если (Исеть ($ _ GET ["р"]) && $ _GET ["р"знак равно "") {
$ Ставка = $ _GET ["р"];
если (is_numeric ($ ставка)) {
Функция humantime ($ сек) {
если ($ секунд<0) возвращает ложь;
$ Т = (целое) ($ сек / 60); $ S = $ 60 сек%; $ S = ($ s <= 9)? "0 $ S" : $ S;
$ H = (целое) ($ м / 60); $ M = $ 60% м; $ Т = ($ м <= 9)? "0 $ м" : $ М;
$ D = (целое) ($ ч / 24); $ Ч = $ 24% ч;
вернуть $ D."д $ ч: $ м: $ s";
}
эхо "http://bitcointalk.org/index.php?topic=471.0";Выход;
// Где это пойти?
//
//
//
// $ имп = bcdiv (bcmul ($ цель, 1000), bcpow (2256)); // вероятность в секунду (в зависимости от bd_ это неправильно)
bcscale (16); // Следующий расчет занимает слишком много времени для более высоких разрядов
$ Имп = bcsub (1, bcpow (bcsub (1, $ ПРК), $ ставка)); // вероятность в секунду
// эхо "probabiliy в секунду == 1- (1-р) ^ скорости == 1- (1- $ ПРК) ^ $ ставка == $ ВПР";Выход;
// Комментарий следующая строка для 256-бит данных
bcscale (16);
$ Имп = bcmul ($ имп, $ ставка);
// $ имп = $ имп;
$ EtaAvg = humantime (bcdiv (1, $ PPR));
$ Eta25 = humantime (bcdiv (-log (+0,75), $ PPR));
$ Eta50 = humantime (bcdiv (-log (0,5), $ PPR));
$ Eta75 = humantime (bcdiv (-log (+0,25), $ PPR));
$ Eta95 = humantime (bcdiv (-log (+0,05), $ PPR));
$ Eta99 = humantime (bcdiv (-log (+0,01), $ PPR));
эхо "ProbabilityPerSecond ($ PPR) Среднее ($ etaAvg) 25% ($ eta25) 50% ($ eta50) 75% ($ eta75) 95% ($ eta95) 99% ($ eta99)";
} Еще эхо "Эта команда не требует или не аргумент или числовой аргумент, представляющий Хаш / сек.";
}
еще {
bcscale (32);
$ = Чнс bcmul ($ РРН, 1);
эхо "ProbabilityPerHash ($ ПРК)";
}
http://nullvoid.org/bitcoin/bc.php?q=gethashprobability&г = 2000 где г ваш хаш / сек