SHA256
3.5 KiB
3.5 KiB
SHiNE Archive Publisher — документация
Эта папка — актуальная точка входа для механизма серверной архивации SHiNE в Arweave с фиксацией archive head в Solana User PDA.
Если задачу выполняет другая нейронка/агент, читать документы нужно в таком порядке:
01_PROTOCOL_v1.0.md— бинарный форматSHINE-ARCHIVE, big-block references,UserBlockchainChunk, подписи, PDA block100, crash-safety.02_IMPLEMENTATION_MAP.md— как спецификация разложена по Java/Rust/JS/SQL файлам текущего проекта.03_DEPLOY_TEST_SERVER.md— полный порядок установки на тестовый сервер, включая обязательный апгрейдshine_users, конфиг, ключи, сборку и запуск.04_TEST_AND_OPERATIONS.md— что проверять до полуночи, после полуночи и при сбоях.05_PATCH_CONTENTS_AND_REMOVALS.md— какие файлы содержит пакет и какие legacy test-free-avatar файлы нужно удалить при наложении ZIP поверх старого исходника.archive-publisher.example.properties— минимальный конфиг архиватора.
Коротко
- Архиватор по умолчанию выключен:
archive.publish.enabled=false. - При включении создаёт новый snapshot один раз в сутки в заданное локальное время, по умолчанию
00:00. - При первом успешном запуске, когда архивных курсоров ещё нет, в первый big block попадает всё локально известное состояние всех blockchain, начиная с source block 0.
- Далее публикуется только дельта.
- Один
blockchain_nameв одном big block представлен максимум однимUserBlockchainChunk; внутри него лежат все новые raw SHiNE records этой цепочки. - В конце chunk одна ссылка на предыдущий chunk этой же blockchain. Если blockchain в текущем big block отсутствует, её cursor/head не меняется.
- Готовый файл сначала существует локально как
<login>.<00001>.<dd.MM.yy>.tmp.SHiNE-archive. После успешной загрузки в Arweave он переименовывается в<login>.<00001>.<dd.MM.yy>.<REAL_ARWEAVE_TX_ID>.SHiNE-archiveи остаётся локально. - После Arweave confirmations обычным
update_user_pdaобновляется PDA block type100:archive_tx_id[32] + archive_hash[32]. - Cursor commit выполняется только после Solana
finalized.
Важно перед тестом
Изменён формат/парсер shine_users. Нельзя просто заменить серверный JAR и включить archive publisher, если целевая Solana-программа shine_users ещё не обновлена кодом из этого пакета. Сначала обновить программу на нужном кластере, затем сервер.