SHA256
41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
# SHiNE Blockchain
|
|
|
|
Актуальная версия пользовательского blockchain использует **SHiNE Frame v1 внутри подписанного ANS-104 DataItem**. Старый Frame v0 и файловое хранение `.bch` не поддерживаются.
|
|
|
|
## Основные документы
|
|
|
|
- [`01_Common_Block_Format.md`](01_Common_Block_Format.md) — точный Frame v1, ANS-104, подпись, хэши и теги.
|
|
- [`17_ANS104_Arweave_Transport.md`](17_ANS104_Arweave_Transport.md) — публикация блоков в Arweave и обратный импорт между серверами.
|
|
- [`sync-between-servers.md`](sync-between-servers.md) — межсерверная синхронизация и full-resync без файловой копии blockchain.
|
|
- [`CHANGELOG.md`](CHANGELOG.md) — история изменений протокола.
|
|
|
|
## Короткая схема
|
|
|
|
```text
|
|
User
|
|
-> создаёт Frame v1
|
|
-> tags: App=test5590, при канале c=<slug>
|
|
-> Ed25519 подписывает ANS-104 deep-hash
|
|
-> готовый DataItem
|
|
-> AddBlock
|
|
|
|
Server
|
|
-> verify DataItem + SHiNE chain
|
|
-> PostgreSQL
|
|
-> каждые ~15 минут ANS-104 bundle
|
|
-> Arweave L1
|
|
|
|
Other servers
|
|
-> GraphQL App=test5590
|
|
-> скачивают/извлекают DataItem
|
|
-> verify
|
|
-> PostgreSQL без повторной публикации
|
|
```
|
|
|
|
## Важные свойства
|
|
|
|
- SHiNE `prevHash` остаётся SHA-256 предыдущего Frame v1 и не зависит от Arweave.
|
|
- `data_item_id` нужен для Arweave, поиска и дедупликации.
|
|
- PostgreSQL — единственное локальное хранилище пользовательских блоков.
|
|
- Тестовый namespace `App=test5590` специально отделён от будущего production namespace.
|