Тексты в цепи хранятся хешем.
Содержательный текст (описание проекта, формулировка вопроса собрания) живёт в базе контроллера, в памяти цепи от него остаётся sha256 в шестнадцатеричной записи нижним регистром (64 символа) или пустая строка, если текста нет. Хеш закрепляет, какой именно текст был, и не занимает память кооператива. Контроллер считает хеш так же (extension-kit, blockchain/chain-text-digest.ts).
| constexpr bool TextDigest::PHASE2 = true |
|
inlineconstexpr |
Второй шаг выноса текстов (C28-78). Раскатка ставит контракты раньше контроллера, а только новый контроллер хранит тексты у себя и читает закрытые собрания из журнала дельт. Поэтому первый релиз (v2026.9.24-2, прод 24.09.2026), пока в сети мог стоять прежний контроллер, шёл с false: контракты принимали и текст, и хеш, не переводили старые тексты проектов в хеши и не стирали закрытые собрания.
Второй релиз — true: новый контроллер раскатан на всех узлах, копии текстов в базе сверены с цепью (62 проекта воскхода, снимок цепи — ~/shared/backups/c28-78/prod-2026-09-24). Теперь контракты: