18+
Меню

Главная · Журнал

Открытый протокол

Журнал точности

Здесь все досье дня, без отбора удачных. У каждой записи — вероятность, названный исход и итог: угадано, нет или ещё не сыграно.

2
досье дня в журнале
—
сыгранных пока нет
0
угадано
0
не угадано

В процент входят только сыгранные досье с одним названным исходом. «Ещё не сыграно» и несостоявшиеся матчи в знаменателе не стоят. Ожидающих: 2.

Самый уверенный расчёт дня

ещё не сыграно

Лион — Ницца

18 октября 2026 · Лига 1 · 7-й тур · 18 октября 2026, 21:45 МСК

П1 — 61%

Зафиксировано 18 октября 2026, 15:54 МСК

SHA-256 прогноза8725011e27f3acbc2d043a87c5cca052716d42ec35a913e5b3c2153be94357dc

SHA-256 досье дня6c5bbd4181b2b5463bf4ebbeef4464a9375c1006d3816aa4ddccc074fe8587bd

Самый интересный матч дня

ещё не сыграно

Милан — Аталанта

18 октября 2026 · Серия А · 7-й тур · 18 октября 2026, 19:00 МСК

П1 — 43%

Явного фаворита сегодня нет

Зафиксировано 18 октября 2026, 15:54 МСК

SHA-256 прогноза176dd26c96c1b090e507d58d1bb2122acdd55739b3cc373e874b28d575b7d3fa

SHA-256 досье дня6c5bbd4181b2b5463bf4ebbeef4464a9375c1006d3816aa4ddccc074fe8587bd

Проверка

Как убедиться, что записи не меняли задним числом

Каждая строка файла — один JSON. Хэш SHA-256 считается от канонической записи: ключи по алфавиту, без пробелов и переносов, поле sha256 в расчёт не входит. Поле prev_sha256 равно хэшу предыдущей строки. У первой строки оно пустое.

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

picks.jsonl

Строк: 1. Цепочка: сходится

Последний SHA-2566c5bbd4181b2b5463bf4ebbeef4464a9375c1006d3816aa4ddccc074fe8587bd

predictions.jsonl

Строк: 20. Цепочка: сходится

Последний SHA-256ab2cb0114456e7626dc5d08b55a0bb95e64e76d1583c7463f7186758444ff45c

results.jsonl

Файла на сайте ещё нет.

Пересчёт одной строки на Python — тот же приём, что в коде журнала:

import hashlib, json
def canon(d):
    body = {k: v for k, v in d.items() if k != "sha256"}
    return json.dumps(body, ensure_ascii=False, sort_keys=True, separators=(",", ":"))
line = json.loads(open("predictions.jsonl", encoding="utf-8").readline())
print(hashlib.sha256(canon(line).encode()).hexdigest() == line["sha256"])

Дальше по файлу: prev_sha256 каждой строки равен sha256 предыдущей. Файлы отдаются байт в байт, без пересортировки.