Насколько я понимаю, одноразовый номер в заголовке блока Ethereum представляет собой целое число в определенном диапазоне (больше 0).
Однако, когда я просматриваю блоки через онлайн-обозреватель блоков, такой как etherscan, я вижу одноразовый номер со значениями, такими как 0x885ddbbf0826351997 .
На самом деле, если я просматриваю блоки за последний год, я не могу найти ни одного, который бы не начинался с 0x88.
В «Желтой книге» Ethereum указано, что одноразовый номер — это 64-битный хэш.
Однако с функцией хэширования вряд ли можно было бы увидеть столько значений, начинающихся с 0x88.
Может ли кто-нибудь сказать мне, как одноразовый номер, используемый при поиске действительного хэша для блока в Ethereum, приводит к одноразовому номеру, показанному в заголовке блока?
В моей компании работает обозреватель блокчейнов .
Вот информация, которая у нас есть для этого связанного блока.
Я просмотрел необработанные данные, и ни один из одноразовых номеров на самом деле не начинается с 0x88 (как возвращается из вызова JSON RPC к узлу Parity (1.6.8)).
Похоже, что Etherscan добавляет это. Я не уверен, почему. Возможно, это как-то связано с тем, как Etherscan оснастил свой узел, или они просто добавили его в свой вывод.
0x88
префиксом, а несколько других обозревателей, которые я пробовал, не показывают (например, ваш). В коде Parity нет ничего, что могло бы его лишать при обслуживании RPC-запросов, но в коде Geth таких случаев много, особенно в тестовых случаях, когда одноразовый номер просто задается как 0x88
. Пока без понятия :-)"nonce":"0x5ddbbf0826351997"
к блоку 4168977.Спекулятивный ответ, который я изначально добавил в качестве комментария. Рада, что поправилась.
0x88 == 136, что является размером в байтах «блока» sha3 (тогда как для «блока» sha256 это будет 64 байта == 0x40).
«0x88», кажется, разбросано по всему коду, поэтому, вероятно, это префикс на стороне клиента, а не что-то добавленное обозревателями цепочек.
Итак... это, вероятно, просто способ указать, что одноразовый номер был хеширован с помощью sha3, а не другого алгоритма хеширования... (для проверки обратной совместимости и т. д.)
Бенджаминион