68 lines
3.0 KiB
Markdown
68 lines
3.0 KiB
Markdown
|
||
1. GET /api/v1/node
|
||
{
|
||
node_address: service_wallet,
|
||
master_address: platform collection,
|
||
indexer_height: int,
|
||
services: {
|
||
..status&delay only
|
||
}
|
||
}
|
||
|
||
2. POST /api/system.sendStatus
|
||
3. GET /api/system.version
|
||
{
|
||
codebase_hash: string,
|
||
codebase_branch: string
|
||
}
|
||
|
||
4. GET /api/tonconnect-manifest.json
|
||
используется для tonconnect на фронтенде бота (централизация)
|
||
|
||
5. GET /api/platform-metadata.json
|
||
используется при создании platform, если ранее не создано
|
||
|
||
6. POST /api/v1/auth.twa
|
||
сохраняет информацию о пользователе (его кошельке), выдает взамен токен для операций с этой нодой
|
||
|
||
7. GET /api/v1/tonconnect.new [! DEPRECATED !]
|
||
8. POST /api/v1/tonconnect.logout [! DEPRECATED !] но возможно нужно использовать при отключении кошелька в вебаппе
|
||
|
||
9. POST /api/v1/storage
|
||
загрузка контента на ноду с получением его хэша, TODO: нужно делать загрузку по частям чтобы сервер не падал
|
||
|
||
10. GET /api/v1/storage/<file_hash>
|
||
получение файла целиком. TODO: изучить реальный стриминг файла
|
||
TODO: реализовать поиск файла на других нодах
|
||
|
||
11. GET /api/v1/storage.decodeContentId/<content_id>
|
||
просто баловство
|
||
|
||
12. GET /api/v1/account [! DEPRECATED !]
|
||
получение информации о пользователе, не нужно от слова совсем
|
||
|
||
13. POST /api/v1/blockchain.sendNewContentMessage
|
||
14. POST /api/v1/blockchain.sendPurchaseContent
|
||
|
||
15. GET /api/v1/content.list
|
||
16. GET /api/v1/content.view
|
||
|
||
|
||
17. GET /api/v1/network.info
|
||
Возвращает информацию о ноде: id/public_key, version, node_type, metrics, capabilities.
|
||
|
||
18. GET /api/v1/network.nodes
|
||
Возвращает список известных публичных нод с совместимостью и метаданными.
|
||
|
||
19. POST /api/v1/network.handshake
|
||
Рукопожатие между нодами. Тело запроса подписано приватным ключом ноды; ответ подписан приватным ключом сервера.
|
||
Поля запроса: version, public_key (base58), node_type, metrics, capabilities, timestamp, nonce, signature.
|
||
Поле public_host обязательно для public-нод, и опционально/пустое для private-нод.
|
||
Поля ответа: compatibility, node, known_public_nodes, timestamp, server_public_key, server_signature (+ warning при несовпадении MINOR).
|
||
Private-ноды не сохраняются на стороне принимающей ноды (никакого учета peer-а), но получают список публичных нод и могут синхронизироваться через них.
|
||
|
||
|
||
|
||
|
||
|