Комментарии 8
Красиво.
Откуда взялось «816534932c2b7154836da6afc367695e6337db8a921823784c14378abed4f7d7»?
Откуда взялось «816534932c2b7154836da6afc367695e6337db8a921823784c14378abed4f7d7»?
В Genesis block вносится рандомный хэш, на основе которого будет генерироваться следующий блок. Например в Ethereum был выбран хэш блока #1028201 из тестовой blockchain.
Дополню ответ выше.
За хэш виртуального предыдущего блока взято «0».
> calculateHash (0, "0", 1465154705, "my genesis block!!") == "816534932c2b7154836da6afc367695e6337db8a921823784c14378abed4f7d7"
< true
За хэш виртуального предыдущего блока взято «0».
А чем обусловлен выбор самой длинной цепочки? Тем что его больше узлов подтвердили?
if (isValidChain(newBlocks) && newBlocks.length > blockchain.length) {
1. Ссылается на забытую фунцию isValidChain
2. Содержит ошибку, потому что равные цепочки тоже могут быть валидны. Должно быть >=
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Блокчейн в 200 строк кода