16 июля 2010, 5:24:25 AM   # 1
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
http://nullvoid.org/bitcoin/statistix.php
http://nullvoid.org/bitcoin/statistix.php?showallblocks (Если вы хотите, чтобы увидеть временные метки для всех 69,000+ блоков до сих пор) (2.5Mb + выход)
http://jsonrpcphp.org/?page=download&Ланг = ы

statistix.php
Код:
	заголовок ("Content-тип: текст / html");
require_once 'jsonRPCClient.php';
$ Данных = новый jsonRPCClient ( 'http://127.0.0.1:8332');
$ Blockcount = $ данных->getblockcount ();
$ В настоящее время = дата ("U");

$ Blockfile = "blockdata";
$ = Данные файла ($ blockfile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); array_pop ($ данных);
Foreach ($ данные в виде $ линии) {
$ Блоков = strtok ($ линии, " ");
$ Дата = strtok (" ");
$ Avghash = strtok (" ");
}
?>
 <глава>
  
 
 <тело><до>
$ = Данные array_reverse (данные $);
эхо " / - Statistix - \\\ п";
эхо "|            Исходный код PHP            | \ П";
эхо "| --------------------------------------- | \ п";
эхо "| Последний блок обнаружен в длительности | \ п";
эхо "| и когда он был обнаружен | \ п";
эхо "| --------------------------------------- | \ п";
эхо "| Теперь $ Теперь | \ п";
$ Lastdate = $ сейчас - $ дата; $ Lastdate. = ($ Lastdate == 1)? " сек" : " сек"; $ Lastdate. = Str_repeat (" ", 10 - StrLen ($ lastdate));
$ Lastblock = обрезки ($ блоков); $ Lastblock. = Str_repeat (" ", 12 - StrLen ($ lastblock));
эхо "| Последний блок $ lastdate: $ lastblock | \ п";
$ Блок = массив ();
Foreach ($ данные в виде $ линии) {
$ Блоков = strtok ($ линии, " ");
$ Дата = strtok (" ");
$ Avghash = strtok (" ");
$ Блок [$ блоки] = $ дата;
если (($ сейчас - 60) <= $ Дата) {$ min01date = $ дата; $ = $ Min01blocks блоки; }
если (($ сейчас - 120) <= $ Дата) {$ min02date = $ дата; $ = $ Min02blocks блоки; }
если (($ сейчас - 180) <= $ Дата) {$ min03date = $ дата; $ = $ Min03blocks блоки; }
если (($ сейчас - 240) <= $ Дата) {$ min04date = $ дата; $ = $ Min04blocks блоки; }
если (($ сейчас - 300) <= $ Дата) {$ min05date = $ дата; $ = $ Min05blocks блоки; }
если (($ сейчас - 600) <= $ Дата) {$ min10date = $ дата; $ = $ Min10blocks блоки; }
если (($ сейчас - 1200) <= $ Дата) {$ min20date = $ дата; $ = $ Min20blocks блоки; }
если (($ сейчас - 1800) <= $ Дата) {$ min30date = $ дата; $ = $ Min30blocks блоки; }
если (($ сейчас - 2400) <= $ Дата) {$ min40date = $ дата; $ = $ Min40blocks блоки; }
если (($ сейчас - 3000) <= $ Дата) {$ min50date = $ дата; $ = $ Min50blocks блоки; }
если (($ сейчас - 3600) <= $ Дата) {$ hr01date = $ дата; $ = $ Hr01blocks блоки; }
если (($ сейчас - 7200) <= $ Дата) {$ hr02date = $ дата; $ = $ Hr02blocks блоки; }
если (($ сейчас - 10800) <= $ Дата) {$ hr03date = $ дата; $ = $ Hr03blocks блоки; }
если (($ сейчас - 14400) <= $ Дата) {$ hr04date = $ дата; $ = $ Hr04blocks блоки; }
если (($ сейчас - 18 000) <= $ Дата) {$ hr05date = $ дата; $ = $ Hr05blocks блоки; }
если (($ сейчас - 21600) <= $ Дата) {$ hr06date = $ дата; $ = $ Hr06blocks блоки; }
если (($ сейчас - 51200) <= $ Дата) {$ hr12date = $ дата; $ = $ Hr12blocks блоки; }
если (($ сейчас - 102400) <= $ Дата) {$ day1date = $ дата; $ = $ Day1blocks блоки; }
если (($ сейчас - 204800) <= $ Дата) {$ day2date = $ дата; $ = $ Day2blocks блоки; }
если (($ сейчас - 307200) <= $ Дата) {$ day3date = $ дата; $ = $ Day3blocks блоки; }
если (($ сейчас - 409600) <= $ Дата) {$ day4date = $ дата; $ = $ Day4blocks блоки; }
если (($ сейчас - 512000) <= $ Дата) {$ day5date = $ дата; $ = $ Day5blocks блоки; }
если (($ сейчас - 614400) <= $ Дата) {$ day6date = $ дата; $ = $ Day6blocks блоки; }
если (($ сейчас - 716800) <= $ Дата) {$ wk01date = $ дата; $ = $ Wk01blocks блоки; }
если (($ сейчас - 1433600) <= $ Дата) {$ wk02date = $ дата; $ = $ Wk02blocks блоки; }
если (($ сейчас - 2150400) <= $ Дата) {$ wk03date = $ дата; $ = $ Wk03blocks блоки; }
если (($ сейчас - 2867200) <= $ Дата) {$ wk04date = $ дата; $ = $ Wk04blocks блоки; }
если (($ сейчас - 5734400) <= $ Дата) {$ wk08date = $ дата; $ = $ Wk08blocks блоки; }
если (($ сейчас - 11468800) <= $ Дата) {$ wk16date = $ дата; $ = $ Wk16blocks блоки; }
если (($ сейчас - 22937600) <= $ Дата) {$ wk32date = $ дата; $ = $ Wk32blocks блоки; }
если (($ сейчас - 37376000) <= $ Дата) {$ yr1date = $ дата; $ = $ Yr1blocks блоки; }
}

если ($ min01blocks == "") $ Min01 = ""; еще $ min01 = "$ Min01date: $ min01blocks";
если ($ min02blocks == "") $ Min02 = ""; еще $ min02 = "$ Min02date: $ min02blocks";
если ($ min03blocks == "") $ Min03 = ""; еще $ min03 = "$ Min03date: $ min03blocks";
если ($ min04blocks == "") $ Min04 = ""; еще $ min04 = "$ Min04date: $ min04blocks";
если ($ min05blocks == "") $ Min05 = ""; еще $ min05 = "$ Min05date: $ min05blocks";
если ($ min10blocks == "") $ Min10 = ""; еще $ min10 = "$ Min10date: $ min10blocks";
если ($ min20blocks == "") $ Min20 = ""; еще $ min20 = "$ Min20date: $ min20blocks";
если ($ min30blocks == "") $ Min30 = ""; еще $ min30 = "$ Min30date: $ min30blocks";
если ($ min40blocks == "") $ Min40 = ""; еще $ min40 = "$ Min40date: $ min40blocks";
если ($ min50blocks == "") $ Min50 = ""; еще $ min50 = "$ Min50date: $ min50blocks";
если ($ hr01blocks == "") $ Hr01 = ""; еще $ hr01 = "$ Hr01date: $ hr01blocks";
если ($ hr02blocks == "") $ Hr02 = ""; еще $ hr02 = "$ Hr02date: $ hr02blocks";
если ($ hr03blocks == "") $ HR03 = ""; еще $ HR03 = "$ Hr03date: $ hr03blocks";
если ($ hr04blocks == "") $ Hr04 = ""; еще $ hr04 = "$ Hr04date: $ hr04blocks";
если ($ hr05blocks == "") $ Hr05 = ""; еще $ hr05 = "$ Hr05date: $ hr05blocks";
если ($ hr06blocks == "") $ Hr06 = ""; еще $ hr06 = "$ Hr06date: $ hr06blocks";
если ($ hr12blocks == "") $ HR12 = ""; еще $ HR12 = "$ Hr12date: $ hr12blocks";
если ($ day1blocks == "") $ Day1 = ""; еще $ day1 = "$ Day1date: $ day1blocks";
если ($ day2blocks == "") $ Day2 = ""; еще $ day2 = "$ Day2date: $ day2blocks";
если ($ day3blocks == "") $ Day3 = ""; еще $ Day3 = "$ Day3date: $ day3blocks";
если ($ day4blocks == "") $ Day4 = ""; еще $ Day4 = "$ Day4date: $ day4blocks";
если ($ day5blocks == "") $ Day5 = ""; еще $ day5 = "$ Day5date: $ day5blocks";
если ($ day6blocks == "") $ = День 6 ""; еще $ = День 6 "$ Day6date: $ day6blocks";
если ($ wk01blocks == "") $ Wk01 = ""; еще $ wk01 = "$ Wk01date: $ wk01blocks";
если ($ wk02blocks == "") $ Wk02 = ""; еще $ wk02 = "$ Wk02date: $ wk02blocks";
если ($ wk03blocks == "") $ Wk03 = ""; еще $ wk03 = "$ Wk03date: $ wk03blocks";
если ($ wk04blocks == "") $ Wk04 = ""; еще $ wk04 = "$ Wk04date: $ wk04blocks";
если ($ wk08blocks == "") $ Wk08 = ""; еще $ wk08 = "$ Wk08date: $ wk08blocks";
если ($ wk16blocks == "") $ Wk16 = ""; еще $ wk16 = "$ Wk16date: $ wk16blocks";
если ($ wk32blocks == "") $ Wk32 = ""; еще $ wk32 = "$ Wk32date: $ wk32blocks";
если ($ yr1blocks == "") $ Yr1 = ""; еще $ yr1 = "$ Yr1date: $ yr1blocks";

эхо "| 1мин назад  ". $ Min01.str_repeat (" ", 24 - StrLen ($ min01))."| \ П";
эхо "| 2мин назад  ". $ Min02.str_repeat (" ", 24 - StrLen ($ min02))."| \ П";
эхо "| 3мин назад  ". $ Min03.str_repeat (" ", 24 - StrLen ($ min03))."| \ П";
эхо "| 4min назад  ". $ Min04.str_repeat (" ", 24 - StrLen ($ min04))."| \ П";
эхо "| 5мин назад  ". $ Min05.str_repeat (" ", 24 - StrLen ($ min05))."| \ П";
эхо "| 10мин назад  ". $ Min10.str_repeat (" ", 24 - StrLen ($ min10))."| \ П";
эхо "| 20мин назад  ". $ Min20.str_repeat (" ", 24 - StrLen ($ min20))."| \ П";
эхо "| 30мин назад  ". $ Min30.str_repeat (" ", 24 - StrLen ($ min30))."| \ П";
эхо "| 40мин назад  ". $ Min40.str_repeat (" ", 24 - StrLen ($ min40))."| \ П";
эхо "| 50мин назад  ". $ Min50.str_repeat (" ", 24 - StrLen ($ min50))."| \ П";
эхо "| 1час назад  ". $ Hr01.str_repeat (" ", 24 - StrLen ($ hr01))."| \ П";
эхо "| 2ч назад  ". $ Hr02.str_repeat (" ", 24 - StrLen ($ hr02))."| \ П";
эхо "| 3hrs назад  ". $ Hr03.str_repeat (" ", 24 - StrLen ($ HR03))."| \ П";
эхо "| 4ч назад  ". $ Hr04.str_repeat (" ", 24 - StrLen ($ hr04))."| \ П";
эхо "| 5hrs назад  ". $ Hr05.str_repeat (" ", 24 - StrLen ($ hr05))."| \ П";
эхо "| 6hrs назад  ". $ Hr06.str_repeat (" ", 24 - StrLen ($ hr06))."| \ П";
эхо "| 12 ч назад  ". $ Hr12.str_repeat (" ", 24 - StrLen ($ HR12))."| \ П";
эхо "| 1 день назад  ". $ Day1.str_repeat (" ", 24 - StrLen ($ day1))."| \ П";
эхо "| 2 дня назад  ". $ Day2.str_repeat (" ", 24 - StrLen ($ day2))."| \ П";
эхо "| 3 дня назад  ". $ Day3.str_repeat (" ", 24 - StrLen ($ Day3))."| \ П";
эхо "| 4 дня назад  ". $ Day4.str_repeat (" ", 24 - StrLen ($ Day4))."| \ П";
эхо "| 5 дней назад  ". $ Day5.str_repeat (" ", 24 - StrLen ($ day5))."| \ П";
эхо "| 6 дней назад  ". $ Day6.str_repeat (" ", 24 - StrLen ($ День 6))."| \ П";
эхо "| 1wk назад  ". $ Wk01.str_repeat (" ", 24 - StrLen ($ wk01))."| \ П";
эхо "| 2wks назад  ". $ Wk02.str_repeat (" ", 24 - StrLen ($ wk02))."| \ П";
эхо "| 3wks назад  ". $ Wk03.str_repeat (" ", 24 - StrLen ($ wk03))."| \ П";
эхо "| 4wks назад  ". $ Wk04.str_repeat (" ", 24 - StrLen ($ wk04))."| \ П";
эхо "| 8wks назад  ". $ Wk08.str_repeat (" ", 24 - StrLen ($ wk08))."| \ П";
эхо "| 16wks назад  ". $ Wk16.str_repeat (" ", 24 - StrLen ($ wk16))."| \ П";
эхо "| 32wks назад  ". $ Wk32.str_repeat (" ", 24 - StrLen ($ wk32))."| \ П";
эхо "| 1yr назад  ". $ Yr1.str_repeat (" ", 24 - StrLen ($ yr1))."| \ П";
эхо "| --------------------------------------- / \ п";
если (Исеть ($ min01blocks)) $ min01c = ($ blockcount - $ min01blocks); еще $ min01c = 0; эхо "| ".Нанести (number_format ($ min01c, 0, ",", ","), 9)." блоки в последнюю минуту \ п";
если (Исеть ($ min02blocks)) $ min02c = ($ blockcount - $ min02blocks); еще $ min02c = 0; эхо "| ".Нанести (number_format ($ min02c, 0, ",", ","), 9)." блоки в последние 2 мин \ п";
если (Исеть ($ min03blocks)) $ min03c = ($ blockcount - $ min03blocks); еще $ min03c = 0; эхо "| ".Нанести (number_format ($ min03c, 0, ",", ","), 9)." блоки в последнем 3 мин \ п";
если (Исеть ($ min04blocks)) $ min04c = ($ blockcount - $ min04blocks); еще $ min04c = 0; эхо "| ".Нанести (number_format ($ min04c, 0, ",", ","), 9)." блоки в последней 4 минуты \ п";
если (Исеть ($ min05blocks)) $ min05c = ($ blockcount - $ min05blocks); еще $ min05c = 0; эхо "| ".Нанести (number_format ($ min05c, 0, ",", ","), 9)." блоки в последние 5 минут \ п";
если (Исеть ($ min10blocks)) $ min10c = ($ blockcount - $ min10blocks); еще $ min10c = 0; эхо "| ".Нанести (number_format ($ min10c, 0, ",", ","), 9)." блоки в последние 10 минут \ п";
если (Исеть ($ min20blocks)) $ min20c = ($ blockcount - $ min20blocks); еще $ min20c = 0; эхо "| ".Нанести (number_format ($ min20c, 0, ",", ","), 9)." блоки в последние 20 минут \ п";
если (Исеть ($ min30blocks)) $ min30c = ($ blockcount - $ min30blocks); еще $ min30c = 0; эхо "| ".Нанести (number_format ($ min30c, 0, ",", ","), 9)." блоки в последние 30 минут \ п";
если (Исеть ($ min40blocks)) $ min40c = ($ blockcount - $ min40blocks); еще $ min40c = 0; эхо "| ".Нанести (number_format ($ min40c, 0, ",", ","), 9)." блоки в последние 40 минут \ п";
если (Исеть ($ min50blocks)) $ min50c = ($ blockcount - $ min50blocks); еще $ min50c = 0; эхо "| ".Нанести (number_format ($ min50c, 0, ",", ","), 9)." блоки в последние 50 минут \ п";
если (Исеть ($ hr01blocks)) $ hr01c = ($ blockcount - $ hr01blocks); еще $ hr01c = 0; эхо "| ".Нанести (number_format ($ hr01c, 0, ",", ","), 9)." блоки в последний час \ п";
если (Исеть ($ hr02blocks)) $ hr02c = ($ blockcount - $ hr02blocks); еще $ hr02c = 0; эхо "| ".Нанести (number_format ($ hr02c, 0, ",", ","), 9)." блоки в последних 2-х часов"; эхо "    блоки / час сред: ". ($ Hr02c / 2)."\ п";
если (Исеть ($ hr03blocks)) $ hr03c = ($ blockcount - $ hr03blocks); еще $ hr03c = 0; эхо "| ".Нанести (number_format ($ hr03c, 0, ",", ","), 9)." блоки в последних 3 часов"; эхо "    блоки / час сред: ". ($ Hr03c / 3)."\ п";
если (Исеть ($ hr04blocks)) $ hr04c = ($ blockcount - $ hr04blocks); еще $ hr04c = 0; эхо "| ".Нанести (number_format ($ hr04c, 0, ",", ","), 9)." блоки в последние 4 часа"; эхо "    блоки / час сред: ". ($ Hr04c / 4)."\ п";
если (Исеть ($ hr05blocks)) $ hr05c = ($ blockcount - $ hr05blocks); еще $ hr05c = 0; эхо "| ".Нанести (number_format ($ hr05c, 0, ",", ","), 9)." блоки в последних 5 часов"; эхо "    блоки / час сред: ". ($ Hr05c / 5)."\ п";
если (Исеть ($ hr06blocks)) $ hr06c = ($ blockcount - $ hr06blocks); еще $ hr06c = 0; эхо "| ".Нанести (number_format ($ hr06c, 0, ",", ","), 9)." блоки в последних 6 часов"; эхо "    блоки / час сред: ". ($ Hr06c / 6)."\ п";
если (Исеть ($ hr12blocks)) $ hr12c = ($ blockcount - $ hr12blocks); еще $ hr12c = 0; эхо "| ".Нанести (number_format ($ hr12c, 0, ",", ","), 9)." блоки в последние 12 часов"; эхо "   блоки / час сред: ". ($ Hr12c / 12)."\ п";
если (Исеть ($ day1blocks)) $ day1c = ($ blockcount - $ day1blocks); еще $ day1c = 0; эхо "| ".Нанести (number_format ($ day1c, 0, ",", ","), 9)." блоки в последний день"; эхо "      блоки / час сред: ". ($ Day1c / 24)."\ п";
если (Исеть ($ day2blocks)) $ day2c = ($ blockcount - $ day2blocks); еще $ day2c = 0; эхо "| ".Нанести (number_format ($ day2c, 0, ",", ","), 9)." блоки в последние 2 дня"; эхо "   блоки / час сред: ". ($ Day2c / 48)."\ п";
если (Исеть ($ day3blocks)) $ day3c = ($ blockcount - $ day3blocks); еще $ day3c = 0; эхо "| ".Нанести (number_format ($ day3c, 0, ",", ","), 9)." блоки в последние 3 дня"; эхо "   блоки / час сред: ". ($ Day3c / 72)."\ п";
если (Исеть ($ day4blocks)) $ day4c = ($ blockcount - $ day4blocks); еще $ day4c = 0; эхо "| ".Нанести (number_format ($ day4c, 0, ",", ","), 9)." блоки в последние 4 дня"; эхо "   блоки / час сред: ". ($ Day4c / 96)."\ п";
если (Исеть ($ day5blocks)) $ day5c = ($ blockcount - $ day5blocks); еще $ day5c = 0; эхо "| ".Нанести (number_format ($ day5c, 0, ",", ","), 9)." блоки в последние 5 дней"; эхо "   блоки / час сред: ". ($ Day5c / 120)."\ п";
если (Исеть ($ day6blocks)) $ day6c = ($ blockcount - $ day6blocks); еще $ day6c = 0; эхо "| ".Нанести (number_format ($ day6c, 0, ",", ","), 9)." блоки в последние 6 дней"; эхо "   блоки / час сред: ". ($ Day6c / 144)."\ п";
если (Исеть ($ wk01blocks)) $ wk01c = ($ blockcount - $ wk01blocks); еще $ wk01c = 0; эхо "| ".Нанести (number_format ($ wk01c, 0, ",", ","), 9)." блоки в последней неделе"; эхо "     блоки / час сред: ". ($ Wk01c / 168)."\ п";
если (Исеть ($ wk02blocks)) $ wk02c = ($ blockcount - $ wk02blocks); еще $ wk02c = 0; эхо "| ".Нанести (number_format ($ wk02c, 0, ",", ","), 9)." блоки в последние 2 недели"; эхо "    блоки / час сред: ". ($ Wk02c / 336)."\ п";
если (Исеть ($ wk03blocks)) $ wk03c = ($ blockcount - $ wk03blocks); еще $ wk03c = 0; эхо "| ".Нанести (number_format ($ wk03c, 0, ",", ","), 9)." блоки в последние 3 нед"; эхо "    блоки / час сред: ". ($ Wk03c / 504)."\ п";
если (Исеть ($ wk04blocks)) $ wk04c = ($ blockcount - $ wk04blocks); еще $ wk04c = 0; эхо "| ".Нанести (number_format ($ wk04c, 0, ",", ","), 9)." блоки в последних 4 нед"; эхо "    блоки / час сред: ". ($ Wk04c / 672)."\ п";
если (Исеть ($ wk08blocks)) $ wk08c = ($ blockcount - $ wk08blocks); еще $ wk08c = 0; эхо "| ".Нанести (number_format ($ wk08c, 0, ",", ","), 9)." блоки в последних 8-й неделе"; эхо "    блоки / час сред: ". ($ Wk08c / 1344)."\ п";
если (Исеть ($ wk16blocks)) $ wk16c = ($ blockcount - $ wk16blocks); еще $ wk16c = 0; эхо "| ".Нанести (number_format ($ wk16c, 0, ",", ","), 9)." блоки в последней 16-е недели"; эхо "   блоки / час сред: ". ($ Wk16c / 2688)."\ п";
если (Исеть ($ wk32blocks)) $ wk32c = ($ blockcount - $ wk32blocks); еще $ wk32c = 0; эхо "| ".Нанести (number_format ($ wk32c, 0, ",", ","), 9)." блоки в последней 32-е недели"; эхо "   блоки / час сред: ". ($ Wk32c / 5376)."\ п";
если (Исеть ($ yr1blocks)) $ yr1c = ($ blockcount - $ yr1blocks); еще $ yr1c = 0; эхо "| ".Нанести (number_format ($ yr1c, 0, ",", ","), 9)." блоки в прошлом году"; эхо "     блоки / час сред: ". ($ Yr1c / 8760)."\ п";
эхо "\ ----------------------------------------";
если (Исеть ($ _ GET ["showallblocks"])) {
эхо "\ П \ п";
Еогеасп ($ блок, как $ ключ => $ Num) {
$ = $ Сек блок [$ ключ] - $ блок [$ ключ-1];
$ сек. = ($ ИКС == 1)? " второй " : " секунд";
$ = Сек str_repeat (" ", 14 - STRLEN ($ сек)) $ ИКС;.
если (Исеть ($ блок [$ ключ-1])) эхо "$ секунд, чтобы найти блок $ ключ \ п";
еще эхо "  неизвестно время, чтобы найти блок $ ключ \ п";
}
} Еще \ п";
эхо "                 ~".number_format (размер файла ($ blockfile) * 1,23175 / 1024/1024, 2)."мегабайт                
заливка функции ($ Облов, $ LEN) {возвращение str_repeat (" ", $ Len - StrLen ($ ул)) $ ул;. }
?>
 

Дополнительно, "blockdata" обновляется каждую минуту, используя хрон скрипт, написанный на Python. Этот код питона заселяет "blockdata" с " <отметка времени>
"
любезно ArtForz

getblockdata.py
Код:
#! / USR / бен / окр питон
импорт структура
импорт hashlib

Защиту uint256_deser (ы):
г = 0L
для г в xrange (8):
т = struct.unpack ("<я", С [я * 4: я * 4 + 4]) [0]
г + = т << (Я * 32)
возвращение г

Защиту uint256_ser (и):
Rs = ""
для г в xrange (8):
RS + = struct.pack ("<я", у & 0xFFFFFFFFL)
U >>= 32
вернуться RS

Защиту uint256_from_compact (с):
= число-байт (с >> 24) & 0xFF
v = (с & 0xFFFFFFL) << (8 * (- 3 число-байт))
возврат v

Защиту get_difficulty (с):
вернуться поплавка (uint256_from_compact (0x1D00FFFF) * 1000 // uint256_from_compact (с)) / 1000.

Класс CBlock:
Защита десериализации (я, s):
self.nVersion = struct.unpack ("<я", С [0: 4]) [0]
self.hashPrevBlock = uint256_deser (с [4:36])
self.hashMerkleRoot = uint256_deser (ы [36:68])
self.nTime = struct.unpack ("<я", С [68:72]) [0]
self.nBits = struct.unpack ("<я", С [72:76]) [0]
self.nNonce = struct.unpack ("<я", С [76:80]) [0]
h1 = hashlib.sha256 (с [0:80]). (переваривают)
self.hash = uint256_deser (hashlib.sha256 (h1) .digest ())
если self.hash > uint256_from_compact (self.nBits):
поднять ValueError ("плохой хэш в% с" % Магнезия (сам))
self.next = []
self.blocknum = -1
Защиту __repr __ (Я):
вернуть "CBlock {вер =% 08x л.с. =% 064x гм =% 064x нт =% 08x пь =% 08x пп =% 08x ч =% 064x, п =% я}" % (Self.nVersion, self.hashPrevBlock, self.hashMerkleRoot, self.nTime, self.nBits, self.nNonce, self.hash, self.blocknum)

Защиту get_chain_len (BLK):
г = 1
в то время как Len (blk.next) == 1:
BLK = blk.next [0]
г + 1 =
если Len (blk.next) > 1:
bestchainlen = 0
для nextblk в blk.next:
chainlen = get_chain_len (nextblk)
если chainlen > bestchainlen:
bestchainlen = chainlen
г + = bestchainlen
возвращение г


Защиту readblocks (имя файла):
е = открытое (имя файла, "Р.Б.")
блоки = []
idxmap = {}
в то время как True:
пытаться:
магии = f.read (4)
если магия! = "\ Xf9 \ XBE \ XB4 \ xd9":
ломать
blklen = struct.unpack ("<я", F.read (4)) [0]
если blklen < 80:
ломать
blkdata = f.read (blklen)
если Len (blkdata) = blklen:
ломать
Кроме:
ломать
BLK = CBlock ()
blk.deserialize (blkdata)
blocks.append (BLK)
idxmap [blk.hash] = BLK
если blk.hashPrevBlock:
prevblk = idxmap [blk.hashPrevBlock]
blk.prev = prevblk
prevblk.next.append (BLK)
f.close ()
rootblk = блоки [0]
дель блоки
дель idxmap
BLK = rootblk
curblkidx = 0
в то время как True:
blk.blocknum = curblkidx
если Len (blk.next) == 0:
не blk.next = None
ломать
если Len (blk.next) > 1:
не bestnextblk = None
bestchainlen = 0
для nextblk в blk.next:
chainlen = get_chain_len (nextblk)
если chainlen > bestchainlen:
bestchainlen = chainlen
bestnextblk = nextblk
Элиф chainlen == bestchainlen:
если nextblk.nTime < bestnextblk.nTime:
bestchainlen = chainlen
bestnextblk = nextblk
blk.next = [bestnextblk]
blk.next = blk.next [0]
curblkidx + 1 =
BLK = blk.next

BLK = rootblk
в то время как BLK:
#Распечатать "% Я% я% .3f 0x% 08X" % (blk.blocknum, blk.nTime, get_difficulty (blk.nBits), blk.nBits)
avghashes = 2 ** 256 / uint256_from_compact (blk.nBits)
Распечатать "% Я% я% я" % (Blk.blocknum, blk.nTime, avghashes)
BLK = blk.next

если __name__ == "__главный__":
печать readblocks ("/path/to/blk0001.dat")

линия для хрон
Код:
* / 1 * * * * /path/to/getblockdata.py > / Путь / к / blockdata
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia


Как заработать Биткоины?
Без вложений. Не майнинг.


16 июля 2010, 5:46:10 AM   # 2
 
 
Сообщения: 322
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Получил 1806 Биткоинов
Реальная история.





Это круто, но это время прямо на открытии блока? Мой компьютер армия обнаружила 2 из последних 10 блоков и им потребовалось гораздо больше времени, чем на несколько секунд?

[Править] Кажется, прямо сейчас, я пропустил блок на 1 при подсчете в обратном направлении. Так здорово, блоки обнаруживаются довольно быстро. Таким образом, люди не нуждаются в мега-быстрых многоядерных систем, чтобы выиграть открытие лото  
knightmb сейчас офлайн Пожаловаться на knightmb   Ответить с цитированием Мультицитирование сообщения от knightmb Быстрый ответ на сообщение knightmb

16 июля 2010, 5:48:00 AM   # 3
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Если у вас есть локальный ап сервер (Apache + PHP), вы можете запустить этот код и держать его открытым в окне браузера, и он должен обновляться примерно каждый второй. Это не 100% точным, но достаточно близко.

Добавлено: Последние = $ (дата +% с); Хвост -F debug.log | Grep --line-буферном высота = | СЕПГ -u 's /.* \ (высота = \ (* \) \.) / \ 2 / г' | в то время как для чтения строки; делать теперь = $ (дата +% S); дельта = $ (($ сейчас - $ последнего)); Эхо $ теперь $ дельта $ линии; последние = $ в настоящее время; сделанный
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

3 августа 2010, 10:11:54 PM   # 4
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Если у вас есть локальный ап сервер (Apache + PHP), вы можете запустить этот код и держать его открытым в окне браузера, и он должен обновляться примерно каждый второй. Это не 100% точным, но достаточно близко.

Это утверждение не больше не точно. Первоначально я генерировал свои собственные метки времени на основе, когда сценарий будет увидеть новый блок. Теперь данные временной метки извлекается из базы данных и является точной, насколько это возможно. 
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

7 августа 2010, 11:45:36 PM   # 5
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Моя страница statistix теперь показывает скользящее среднее
Также, http://nullvoid.org/bitcoin/gnuplot/anim

s == номер начального блока (по умолчанию 50)
я == интервал (по умолчанию 1)

например http://nullvoid.org/bitcoin/gnuplot/anim/?s=1000&I = 10

Я предварительно генерируя изображения теперь, так что не все они доступны еще.
Обновить: Все изображения, предварительно сгенерированные

960x720 ~ 10kb и менее за изображение

Изображения могут измениться в будущем, если кто-то предлагает дополнительные данные для изображений, которые являются полезными для включения в последовательности анимации.

заметка: http://nullvoid.org/bitcoin/gnuplot/anim/?s=1000&= 0 если вы хотите увидеть неподвижное изображение на определенный номер блока / диапазон
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

8 августа 2010, 8:57:30 AM   # 6
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Вы понимаете, скользящее среднее не должен быть анимированным, не так ли?

Обновить: http://nullvoid.org/bitcoin/statistix.php есть номера анимированный скользящие средние, так что я предполагаю, что вы делаете.
Скользящая средняя линия является прекрасным дополнением к графикам!
Благодарю.
INSTI сейчас офлайн Пожаловаться на INSTI   Ответить с цитированием Мультицитирование сообщения от INSTI Быстрый ответ на сообщение INSTI

8 августа 2010, 2:04:28 PM   # 7
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Вы понимаете, скользящее среднее не должен быть анимированным, не так ли?

Обновить: http://nullvoid.org/bitcoin/statistix.php есть номера анимированный скользящие средние, так что я предполагаю, что вы делаете.
Скользящая средняя линия является прекрасным дополнением к графикам!
Благодарю.

Это трогательная скользящая средняя! ^ _ ^
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

8 августа 2010, 6:05:44 PM   # 8
 
 
Сообщений: 11
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Выглядит отлично

РЕДАКТИРОВАТЬ:
И это становится лучше с каждым днем.
Tilka сейчас офлайн Пожаловаться на Tilka   Ответить с цитированием Мультицитирование сообщения от Tilka Быстрый ответ на сообщение Tilka

8 августа 2010, 8:57:58 PM   # 9
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

http://nullvoid.org/bitcoin/flot/ <- Это произойдет, как ~ 7-8Mb данных, так что не пробуйте использовать его непосредственно. Моя загрузка пропускная способность очень ограничена.

s == начало
е == конец (имеет приоритет над длиной)
Длина L ==

например
начиная с блока 1000 и заканчивается на этапе 1099
http://nullvoid.org/bitcoin/flot/?s=1000&е = 1099
http://nullvoid.org/bitcoin/flot/?s=1000&л = 100

начать с блока 73000 и заканчиваются в текущем блоке
http://nullvoid.org/bitcoin/flot/?s=73000

показать первые 100
http://nullvoid.org/bitcoin/flot/?e=99
http://nullvoid.org/bitcoin/flot/?l=100

Это похоже на GNUPLOT график выше, за исключением каких-либо изображений, и все данные обрабатываются локально / на стороне клиента, используя FLOT / JavaScript.
Для больших запросов (диапазон 10000 блоков и выше), ожидать задержки, как моя скорость отдачи ограничена 768Kb / сек.
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

9 августа 2010, 1:32:38 PM   # 10
 
 
Сообщения: 116
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики


Я хотел бы видеть нынешние трудности, и количество блоков для следующей настройки на этой странице тоже.
BeeCee1 сейчас офлайн Пожаловаться на BeeCee1   Ответить с цитированием Мультицитирование сообщения от BeeCee1 Быстрый ответ на сообщение BeeCee1

10 августа 2010, 12:40:37 AM   # 11
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики


Я хотел бы видеть нынешние трудности, и количество блоков для следующей настройки на этой странице тоже.

Видеть http://nullvoid.org/bitcoin, который обновляется в режиме реального времени
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

10 августа 2010, 2:43:08 AM   # 12
 
 
Сообщения: 132
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Потрясающие работы mizerydearia. Планируете ли вы сделать большинство из этих сценариев с открытым исходным кодом? Если я когда-нибудь делаю, что "Bitcoin Command Center" Я не хотел бы быть стучать на сервере 24/7. 
aceat64 сейчас офлайн Пожаловаться на aceat64   Ответить с цитированием Мультицитирование сообщения от aceat64 Быстрый ответ на сообщение aceat64

10 августа 2010, 2:56:22 AM   # 13
 
 
Сообщения: 337
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Hashtarget неправильно. Кроме того, шрифт довольно трудно читать. письмо-интервал: 2px может сделать его более удобным для чтения.
tcatm сейчас офлайн Пожаловаться на tcatm   Ответить с цитированием Мультицитирование сообщения от tcatm Быстрый ответ на сообщение tcatm

10 августа 2010, 5:38:29 AM   # 14
 
 
Сообщения: 112
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Один расчет я для удовольствия (но часто получают неправильно) общая скорость хаш / сек всего Bitcoin стада.

Если я думаю о нем правильно, похоже, долгосрочный средний легко получается из текущего рейтинга трудности в одиночку.

То есть, число трудности отражает, в грубую степень, скорость gigahash / сек всего генерирующего рабочей силы, так как она была вычислена на последнюю корректировку.

Исходя из этого, и моих собственных агрегата общего хаша / сек, я могу думать о том, сколько в сети мой собственный процессор, и каковы шансы, что я буду генерировать следующий блок. Статистика для удовольствия.
Контур заземления сейчас офлайн Пожаловаться Петля на Ground   Ответить с цитированием Мультицитирование сообщения от контура заземления Быстрый ответ на сообщение Ground Loop

16 августа 2010, 11:22:33 AM   # 15
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Благодаря Киф @ ИРЦ для предоставления данных блока до данных, отображаемых.

Вот замороженный сбор данных / statistix после Отметка времени Unix 128194750, которые могут быть полезны для сравнения
http://nullvoid.org/bitcoin/74638/statistix.74638.php (Старая цепь)
http://nullvoid.org/bitcoin/74638/statistix.php (Новая цепь)
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

17 августа 2010, 5:10:29 PM   # 16
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

http://github.com/mizerydearia/mizerydearia_phpbitcoinscripts
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

17 августа 2010, 7:18:21 PM   # 17
 
 
Сообщения: 112
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Нижние графики было бы гораздо интереснее, если бы они были "усеченный" по оси Y.

Кажется, несколько рано долго-долго времени блок поколения давя все интересные данные вплоть до двух нижних строк пикселей.

Может быть, логарифмическая шкала?

Мне было бы любопытно увидеть шаги и переходы в скорости генерации с течением времени, но это невозможно увидеть, кроме самого-мелкосерийных графиков.
Контур заземления сейчас офлайн Пожаловаться Петля на Ground   Ответить с цитированием Мультицитирование сообщения от контура заземления Быстрый ответ на сообщение Ground Loop

17 августа 2010, 10:09:47 PM   # 18
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Я изменил statistix.php немного, так что, когда "showallblocks" испрашиваются данные сбрасываются на выход один на один, и вы можете остановить загрузку данных в любое время, нажав бежать. Это полезно в случае, если вы хотите видеть только последние блоки, а не вся история.

Кроме того, как у меня есть время, я расширюсь на графики раздела и произвести страницу, посвященные график всех типов. Я в настоящее время организации и подготовка моего кода лучше для выпуска и подталкивают обновления в хранилище.
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia

18 августа 2010, 6:44:00 PM   # 19
 
 
Сообщения: 112
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Я предложить BTC 100,00 Баунти за дополнение к
http://nullvoid.org/bitcoin/statistix.php
который показывает обратное (1 / х) данные: Вычисление мощности.

В частности, общая хаш / сек для всей сети, либо на основе текущей сложности или (предпочтительно) наблюдаются интервалы блоков / скользящего среднего.

Как "сильный" это Bitcoin сообщество в настоящее время, и как она в тренде? Это то, что я ищу. Я не требователен.

Контур заземления сейчас офлайн Пожаловаться Петля на Ground   Ответить с цитированием Мультицитирование сообщения от контура заземления Быстрый ответ на сообщение Ground Loop

18 августа 2010, 7:23:16 PM   # 20
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: Некоторые статистики

Как Хаш / сек для всей сети определяются?
mizerydearia сейчас офлайн Пожаловаться на mizerydearia   Ответить с цитированием Мультицитирование сообщения от mizerydearia Быстрый ответ на сообщение mizerydearia



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW